我正在尝试将最初在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方式来做到这一点,我也完全对此持开放态度。我只是想找到升级这个项目的正确方法。
答案 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如何读取它。