stylesheet_link_tag:所有资产管道

时间:2013-06-24 16:50:09

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 asset-pipeline erb

我正在尝试将最初在rails 3.0中完成的项目升级到rails 3.1,我想启用资产管道。作为rails 3.0项目,它使用public/文件夹存储css js和图像文件。我发现有些观点有

<%= stylesheet_link_tag :all %>

在其中,如果没有资产管道,则会导致css中包含所有public/stylesheets个文件。

使用资产管道说是否有相应的内容,包括app/assets/stylesheets中的所有内容?或者只是所有asset/stylesheets目录?或者,如果有更多的 rails3.1方式来做到这一点,我也完全对此持开放态度。我只是想找到升级这个项目的正确方法。

1 个答案:

答案 0 :(得分:1)

默认情况下,资产管道在app/assets/stylesheets中包含您的样式。从指南:http://guides.rubyonrails.org/asset_pipeline.html

  

从3.1版开始,Rails默认连接所有   将JavaScript文件合并为一个主.js文件,将所有CSS文件合并为一个   master .css文件。正如您将在本指南后面学到的那样,您可以   自定义此策略以您喜欢的方式对文件进行分组。在   生产,Rails将MD5指纹插入到每个文件名中   该文件由Web浏览器缓存。你可以使   通过更改此指纹进行缓存,这会自动发生   每当你更改文件内容..

/app/assets/stylesheets目录中,您应该有一个名为application.css的文件(请注意普通的css扩展名),该文件应包含以下内容:

/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
 * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the top of the
 * compiled file, but it's generally better to create a new file per style scope.
 *
 *= require_self
 *= require_tree .
 */

另请注意,全部注释掉,以及Rails如何读取它。