是否有可接受的方法在应用程序布局中生成javascript,具体取决于控制器/操作是什么?
答案 0 :(得分:8)
content_for
是正确的方式。根据当前操作,您可以包含特定视图所需的javascripts。然而,它应该只在头部,因为在页面中间加载javascripts被认为是突兀的,因此在页面的头部有一个内容。喜欢
<head> <%= yield :dynamic_javascripts %> </head>
和
<% content_for :dynamic_javascripts do %>
<%= javascript_include_tag "javascript.js" %>
<%end%>
答案 1 :(得分:2)
在你的应用程序布局中,你需要一个像这样的“yield”:
<html>
<head>
<%= yield :head %>
</head>
<body>
</body>
</html>
然后在您的控制器视图中,您可以使用以下命令为该视图指定特定的javascript文件:
<% content_for :head do %>
<%= javascript_include_tag "my_javascript_file.js" %>
<% end %>
content_for方法允许您将内容插入布局中的命名yield块。