在Rails 3中,专门用于在资产管道中生成资产的gem被正确放置在assetsGemfile 的组中:
...
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails'
gem 'coffee-rails'
gem 'uglifier'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
end
Run Code Online (Sandbox Code Playgroud)
现在,根据(仍在进行中)升级文档:
Rails 4.0从Gemfile中删除了资产组.升级时,您需要从Gemfile中删除该行.
果然,使用RC1创建一个新项目会生成一个Gemfile,其默认包含在任何组之外的资产相关gem:
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0.rc1'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets …Run Code Online (Sandbox Code Playgroud) 我突然在开发和部署生产中遇到此错误.
custom.css.scss
@import "bootstrap-sprockets";
@import "bootstrap";
Run Code Online (Sandbox Code Playgroud)
错误(在生产中)
rake aborted!
Sass::SyntaxError: File to import not found or unreadable: bootstrap-sprockets.
Load paths:
/srv/www/myapp/releases/20141001060418/app/assets/images
/srv/www/myapp/releases/20141001060418/app/assets/javascripts
/srv/www/myapp/releases/20141001060418/app/assets/stylesheets
/srv/www/myapp/releases/20141001060418/vendor/assets/javascripts
/srv/www/myapp/releases/20141001060418/vendor/assets/stylesheets
Run Code Online (Sandbox Code Playgroud)