2012-07-07 116 views
2

例如,我有很多關於帖子的評論。Javascript in partial(Ruby on Rails)

<%= render post.comments %> 

而且在評論部分我的JavaScript至極會重複很多次我有多少評論有

_comment.html.erb

<div id="content_<%= comment.id %>"><%= comment.content %></div> 
<scr​ipt>$("content_<%= comment.id %>").click(function() { a​lert(​'content of comment <%= comment.id %>'​) });</sc​ript> 

什麼是避免的最好辦法在源代碼中重複JavaScript? 我試圖創建* _comment.js.erb *文件,並把JavaScript放在那裏,但我不明白如何使它工作。

任何人都可以請解釋我如何解決這個問題?

回答

3

您可以更改實施以在app/assets/javascripts下使用您的腳本在單個js文件中。更改腳本的選擇器以匹配註釋的類而不是唯一的ID。如果需要,請使用javascript讀取元素的內容,而不是像現在這樣在服務器上執行此操作。

+0

但是,如果我將腳本資產/ javascripts我怎麼能告訴rails,每個評論都有自己的腳本?這就是爲什麼我使用內容_ <%= comment.id%> – Bennington 2012-07-07 16:34:22

+0

你是對的。這個想法是爲所有人提供相同的腳本,並區分腳本代碼本身的註釋。我認爲這是所有評論的相同邏輯,只有不同的數據。 – davidrac 2012-07-07 16:37:07

+0

感謝您的幫助,但您能解釋更多嗎? – Bennington 2012-07-07 16:53:57