2013-02-27 3 views
0

레일스 앱의 각 사용자 프로필 페이지 /views/users/show.html.erb에 질문 모델의 항목 목록이 있습니다. 항목 목록은 /views/questions/index.html.erb에서 찾을 수있는 정보의 일종입니다. 사용자가 쇼 링크를 클릭하면 같은 페이지 /views/users/show.html/에 콘텐츠가 표시되도록 정렬했습니다. 사용자가 다른 쇼 링크를 클릭하면 다음 링크와 함께 클릭 한 질문의 ID로 표시된 컨텐트가 대체됩니다. 그러나 사용자가 쇼를 클릭하면 사용자가 홈 페이지를 새로 고침하지 않는 한 데이터를 닫을 수 없습니다. 따라서 사용자가 쇼 링크를 클릭하면 (10 개의 링크 목록이 있다고 가정 해 봅시다) 클릭 한 항목 옆에 링크를 표시 할 수 있기를 원합니다 (목록의 9 개 목록과 반대) 사용자가 데이터를 숨길 수 있습니다. 데이터를 숨기는 방법을 알고 있습니다 (즉, 동일한 페이지로 되돌아가는 링크). 그러나 링크를 클릭 한 항목 옆에 표시하는 방법을 모르겠습니다. 각 링크에 질문의 ID를 사용하여 고유 한 클래스 ID를 부여 했으므로 링크를 구별 할 수 있지만 여기에서 어디로 가야할 지에 대해 고민하고 있습니다. 제가 할 수있는 일을 제발 제안 해 주시겠습니까?특정 ID로 연결되는 링크 만들기

enter image description here

업데이트

<td><%= link_to "Show", {:controller => 'users', :action =>'show', :question_id =>"#{question.id}"}, {:class => "question #{question.id}"}%></td> 
. 모든 항목 옆에 숨기기 링크를 놓은 다음 가시성을 '숨김'으로 설정할 수 없으므로 클릭 한 쇼 링크에 해당하는 숨기기 링크가 표시되도록 CSS를 설정하는 방법이 필요합니다.

업데이트, 나는 쇼 링크를 클릭 할 때 (질문 24에 대한 말), 내가 클래스 "를 볼 수있는 링크를 만들 필요 것,

currentTarget: a.question 24 

http://localhost:3000/users/28?question_id=24 

따라서 currentTarget 속성에서이 정보를 제공합니다 닫기 24. " currentTarget에서 id와 id만을 얻는 데 사용할 수있는 정규 표현식이 있습니까?

당신의 연결에
showHide: function(e){ 

     e.currentTarget 

     $('close' + id).css('visibility', 'visible') 

    }, 

답변

1

, 당신은 추가 할 수있는 데이터는 질문 이드 JS에서 다음

link_to 'text', url, data: { qid: question.id } 

속성

showHide: function(e) { 
    $('.close' + e.currentTarget.data('qid')).css('visibility', 'visible') 
} 
관련 문제