我从 Rails 4 开始,我有几个关于资产的问题。如何指定 CSS 必须包含在某些视图中?我对 JS 文件有同样的问题。我在 app/assets/javascripts/viewname.js 中添加了一个 JS 文件,但是它包含在每个页面中。我希望它只在 viewname 视图中显示。
请帮帮我!谢谢
我从 Rails 4 开始,我有几个关于资产的问题。如何指定 CSS 必须包含在某些视图中?我对 JS 文件有同样的问题。我在 app/assets/javascripts/viewname.js 中添加了一个 JS 文件,但是它包含在每个页面中。我希望它只在 viewname 视图中显示。
请帮帮我!谢谢
将文件另存为/vendor/assets/javascripts/viewname.js
并将其包含在您的视图中:
<%= javascript_include_tag 'viewname' %>
在视图文件中使用content_for
以收集稍后将呈现的内容。
<% content_for :head %>
<%= javascript_include_tag 'viewname' %>
<% end %>
调用yield
布局模板来渲染收集到的内容:
<head>
...
<%= yield :head %>
</head>
要自动包含以当前控制器命名的 javascript 文件,您还可以将其放入布局模板文件中:
<head>
...
<%= javascript_include_tag params[:controller] %>
<%= javascript_include_tag "#{params[:controller]}_#{params[:action]}" # variant with action name %>
</head>
但这会给没有 javascript 文件的控制器/操作带来 404 错误。