我喜歡分離功能的想法,這看起來像未來的方式。有一點我不明白的不顯眼的javascript
但我習慣於將JavaScript內部循環嵌入到像Rails ERB或PHP這樣的嵌入式語言中,我可以在JavaScript中使用特定對象的ID作爲引用。
Rails的例子:
<% @comments.each do |comment| %>
<div id="comment_<%= comment.id %>">
<%= comment.text %>
<% link_to_function "Reply", "$('comment_#{comment.id}').insert(\"#{escape_javascript(render :partial => "_form", :locals => {:comment => comment})}\", {position: 'bottom'});" %>
</div>
<% end %>
這不是我已經結束了想要麼使用JavaScript的內部Ruby方法唯一的一次。我可能要使用常數,或致電環user.enabled?
或user.full_name
內的物體上的其他Ruby方法,或與這些對象渲染諧音等
那麼這是怎麼應該完成,如果所有的JavaScript是在另一個文件或循環之外?我知道你可以使用CSS選擇器在javascript中迭代一堆div,但是這不允許我在對象上調用ruby方法。
我錯過了什麼?謝謝!
使用Ruby方法外部JavaScript庫或文件意味着您只能將這些庫或文件用於Ruby應用程序。考慮看jQuery;研究jQuery使用參數化解決這個問題的方式。 – 2010-09-07 19:50:04
我會插入我自己的博客文章的主題:http://whatsthepointy.blogspot.com/2010/07/wallflower-unobtrusive-jquery.html – Pointy 2010-09-07 20:51:36