仅在Rails 3应用程序需要的地方加载Javascript库

时间:2011-12-07 15:44:55

标签: jquery ruby-on-rails-3

现在我的js文件夹中有超过20个assets/javascript个库,我的application.js包含了renderapplication.js个库,但我刚刚开始有一些冲突有一两个图书馆......

我的// //= require jquery //= require jquery_ujs //= require_tree . // 看起来像这样:

{{1}}

我想知道的是如何仅在某些控制器和某些操作上调用某些库?并且不会在整个应用程序中加载所有这些内容。

2 个答案:

答案 0 :(得分:0)

在制作时,它们被编译成一个文件。我认为你的问题的最佳答案是建议雾化所有这些脚本,以便它们不会相互影响并保留所有这些文件。

答案 1 :(得分:0)

在任何模板文件中,即使是部分文件,您也可以这样做,例如:

<% content_for :head do %>
  <%= javascript_include_tag "jquery.collapsibleFieldset" -%>
<% end %>

我在rails 3.0.9上,因此未启用默认的js scrunch。但是,我相信(假设)单个模板中包含的js文件(不在布局中)将被排除在scrunch之外,在这种情况下,这应该可以正常工作。

如果有助于解决某些依赖关系,您还可以创建多个布局。例如,如果您的应用程序的一部分用于管理员相关的功能,如cms,另一部分用于与消费者相关的功能。