Rails3.1之前,所有资源文件都放在public的子目录下,如images、javascripts和stylesheets。有了asset pipeline后,这些资源文件被放在app/assets目录下。这个目录下的文件会被Sprockets这个中间件理。
所有.css .scss .js .offee文件都需要预编译,生产环境下默认不会进行编译,而开发环境下默认会先进行编译。
解决方法:
1. 修改config/initializers/assets.rb, 为预编译做准备
2. 预编译 rake assets:precompile
3. 启动服务器 rails s
Assets Pipeline 好处:
1、将所有的js或css压缩打包成单一的文件,减少http request的大小与数量,增加你网站的速度
2、支持香scss及coffeescript这样的语言,让你可以用更简单更棒的方式来写css及JavaScript