2013-02-27 54 views
0

我在Rails應用程序中的每個用戶個人資料頁面上都有問題模型中的項目列表/views/users/show.html.erb。項目列表是您期望在/views/questions/index.html.erb中找到的一種信息。我已安排它,以便當用戶點擊顯示鏈接時,它會在同一頁面/views/users/show.html/中顯示內容。如果用戶點擊另一個顯示鏈接,它會用下一個鏈接替換顯示的內容和點擊問題的標識。但是,在用戶點擊顯示後,除非用戶刷新主頁等,否則無法關閉數據。因此,一旦用戶點擊一個顯示鏈接(假設有10個鏈接的列表),我希望能夠在被點擊的條目旁邊顯示鏈接(而不是列表中的9)允許用戶隱藏數據。我知道如何隱藏數據(即它只是鏈接回到同一頁面),但是,我不知道如何使鏈接出現在被點擊的條目旁邊。我已經給每個鏈接一個唯一的類ID使用問題的ID,所以我可以區分這些鏈接,但我堅持從這裏去哪裏。你能建議我可以做什麼嗎?使某個特定ID可見的鏈接

<td><%= link_to "Show", {:controller => 'users', :action =>'show', :question_id =>"#{question.id}"}, {:class => "question #{question.id}"}%></td> 

enter image description here

更新。我無法在每個項目旁放置隱藏鏈接,然後將可見性設置爲「隱藏」,因此我只需要一種方法將css設置爲隱藏鏈接對應於所點擊的鏈接的可見。

更新,當我點擊顯示鏈接(說的問題24),它提供了currentTarget當前屬性信息

currentTarget: a.question 24 

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

因此,我需要與類「看得見的鏈接關閉24.「有沒有一個正則表達式,我可以使用它來確保我獲得id,並且只有currentTarget的id?

showHide: function(e){ 

     e.currentTarget 

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

    }, 

回答

1
在鏈接

,你可以添加對這個問題的id

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

然後在您的JS數據屬性

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