Rails 3具有一些不引人注目的JavaScript,这非常酷。
但是我想知道最好的方法是为特定页面包含其他JavaScript。
例如,我以前可能做过的地方:
<%= f.radio_button :rating, 'positive', :onclick => "$('some_div').show();" %>
我们现在可以使用类似的方法使其变得不引人注目
<%= f.radio_button :rating, 'positive' %> # then in some other file $('user_rating_positive').click(function() { $('some_div').show(); }
所以我想我的问题是在哪里/如何包含该JavaScript?我不想填写该application.js文件,因为此JavaScript仅适用于该视图。我应该以某种方式为每个页面包含一个自定义JavaScript文件,还是将其粘贴在标题所要查找的实例变量中?
application.js
我想做的是将每个视图的Javascript包含在一个content_for :head块中,然后yield在应用程序布局中添加到该块。例如
content_for :head
yield
如果很短,则:
<% content_for :head do %> <script type="text/javascript"> $(function() { $('user_rating_positve').click(function() { $('some_div').show(); } }); </script> <% end %>
或者,如果更长,则:
<% content_for :head do %> <script type="text/javascript"> <%= render :partial => "my_view_javascript" </script> <% end %>
然后,在您的布局文件中
<head> ... <%= yield :head %> </head>