Rails:我如何在控制器/动作上使用javascript条件

时间:2011-01-18 07:01:08

标签: ruby-on-rails

是否有可接受的方法在应用程序布局中生成javascript,具体取决于控制器/操作是什么?

2 个答案:

答案 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块。