是否可以加载file.js.erb

时间:2013-05-23 20:09:43

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 coffeescript

我的视图中有一个file.js.erb文件,但我需要在<head></head>版面中加载此文件。

是否可以在<head></head>部分加载这些文件?

如果有可能,我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:2)

布局中的

<head>
  <script><%=render :file => "layouts/file.js"%></script>
</head>

如果文件包含脚本标记,那么您在布局中就不需要它们,并将路径中的布局更改为文件实际所在的位置。


如果您不想在每个页面上使用它,那么您可以使用content_for和yield(正如MyYorshiji在评论中所建议的那样)

<head>
  <script><%= yield :extra_js %> </script>
</head>

在html.erb视图中,您希望此js加载

<%content_for :extra_js do %> 
  <%=render :file => "layouts/file.js"%>
<% end %>

http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for