在我的Rails应用程序中,每个页面都包含assets
中的所有JavaScripts。
一些自定义脚本适用于Ajax和一些奇特的东西。从每个页面不必要地运行并导致我不必要的过载。
例如,会话页面根本不需要任何JavaScript,但仍然包含所有脚本。我该如何改变?我有Rails 3.2.2。
<script src="/assets/jquery-1.7.2.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.ui.core.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.ui.widget.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.ui.position.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery.ui.autocomplete.js?body=1" type="text/javascript"></script>
<script src="/assets/special.js?body=1" type="text/javascript"></script>
答案 0 :(得分:8)
我使用content_for
。
<head>
<%= yield :custom_js %>
</head>
<% content_for :custom_js do %>
<!-- your script includes go here -->
<% end %>
答案 1 :(得分:2)
不要将<script>
元素放在您的布局中,将它们放在您需要的页面上。或者,根据控制器中设置的逻辑,让您的布局有条件地包含它们。