我喜欢分离功能的想法,这似乎是未来的方式。
但是我习惯于在像 Rails ERB 或 PHP 这样的嵌入式语言中将 javascript 集成到循环中,在那里我可以使用特定对象的 ID 作为 javascript 中的引用。
导轨示例:
<% @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 方法。我可能想使用常量,或者在循环内的对象上调用其他 ruby 方法,user.enabled?
或者user.full_name
使用这些对象渲染部分,等等。
那么如果所有的 javascript 都在另一个文件中或循环之外,这应该如何实现呢?我知道您可以使用 CSS 选择器在 javascript 中遍历一堆 div,但这不允许我在对象上调用 ruby 方法。
我错过了什么?谢谢!