我有一个应用程序布局,包括app宽css样式表和js文件,但某些控制器的操作需要额外的样式表,仅用于这些操作 的观点?包含它们的最佳方法是什么?
答案 0 :(得分:5)
如果您的应用通常类似于:
<html>
<head>
<%= stylesheet_link_tag 'application' -%>
<%= javascript_include_tag 'yui', 'application' -%>
</head>
<body>
<%= yield -%>
</body>
</html>
您可以随意添加其他产量块,命名为您想要的任何名称。通常情况下,我使用它来包含特定于页面的功能,无论我喜欢什么,甚至可能部分提供自己的功能。
# layouts/application.html.erb
<html>
<head>
<%= stylesheet_link_tag 'application' -%>
<%= javascript_include_tag 'yui', 'application' -%>
<%= yield :head -%>
</head>
<body>
<%= yield -%>
</body>
</html>
# views/profiles/show.html.erb
<%= title("#{@user.name}'s Profile") -%>
<% content_for :head do -%>
<%= javascript_include_tag 'gallery' %>
<% end %>
<%= render @user.photos %>
等等......
答案 1 :(得分:0)
对于javascript,处理此问题的一种方法是使用&lt;%= yield:javascript%&gt;在布局文件中的...标签内。然后在您的视图代码中,您可以使用&lt;%content_for:javascript do%&gt; ...把你的javascript放在这里...&lt;%end%&gt;
这样,您的javascript和html erb代码就位于同一位置。
整个视线中使用的Javascript可以放在全局文件中。