我在 Apache 上有一个 Rails 3.2 项目。在views/layouts/application.html.erb
文件中我有这些行
<%= stylesheet_link_tag :all %>
<%= yield :javascript_includes %>
它不包含所有 CSS 和 JavaScript 文件,而是仅包含all.css
and defaults.js
(它们不存在)。如何使它链接到所有 CSS 和 JavaScript 文件?
我在 Apache 上有一个 Rails 3.2 项目。在views/layouts/application.html.erb
文件中我有这些行
<%= stylesheet_link_tag :all %>
<%= yield :javascript_includes %>
它不包含所有 CSS 和 JavaScript 文件,而是仅包含all.css
and defaults.js
(它们不存在)。如何使它链接到所有 CSS 和 JavaScript 文件?
由于您使用的是 Rails 3.2,因此 Sprockets 被用于从清单文件中加载静态资产。要将所有资产包含在默认样式表和 javascripts 文件夹中,您可以执行以下操作:
# application.js
//= require jquery
//= require jquery_ujs
//= require_tree .
require_tree .
告诉 Sprockets 加载和编译您app/assets/javascripts
目录中的所有 Javascript(和 CoffeeScript)文件。
# app/assets/stylesheets/application.css
*= require_self
*= require_tree .
同样,require_tree .
告诉 Sprockets 加载目录中的所有 CSS(和 SCSS)文件app/assets/stylesheets
。
然后,如果您的布局,您将包含以下包含标签来代替您在问题中列出的标签:
# app/views/layouts/application.html.erb
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
您可能想查看官方 Rails资产管道指南。资产管道是 Rails 3.1 的重大更新——许多用户认为这是一个很大的改进——它对静态资产的加载方式产生了重大影响。