启动应用程序时出现此错误:
File to import not found or unreadable: compass/reset.
Load path: /Users/nbenes/projects/lawgical_admin
(in /Users/nbenes/projects/lawgical_admin/app/assets/stylesheets/screen.css.sass)
(堆栈跟踪:)
app/assets/stylesheets/screen.css.sass:2
app/views/layouts/login.html.haml:7:in `_app_views_layouts_login_html_haml__1550030126632827390_2194381580'
引发错误的文件如下所示:
app/assets/screen.css.sass
// This import applies a global reset to any page that imports this stylesheet.
@import compass/reset
它在import
线上崩溃,我不知道如何让它看到罗盘宝石。
我的gemfile有这个:
Gemfile
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
gem 'compass-rails'
end
指南针配置是准系统:
config/compass.rb
# Require any additional compass plugins here.
project_type = :rails
最后,样式表被拉入视图:
app/views/layouts/login.html.haml
= stylesheet_link_tag 'screen', :media => 'screen, projection'
不知何故,它只是没有看到指南针或导入它。我尝试跳过compass/reset
导入,但稍后在@import blueprint
对于某些上下文,我正在将此应用程序升级到rails 3.2并使用资产管道而不是Jammit来编译资产(Jammit gem和配置文件已被删除)。知道出了什么问题吗? :(
答案 0 :(得分:3)
当从Rails 3.0.x升级到Rails 3.2.x时,我错过了config/application.rb
的一个非常小但非常重要的更改
在rails 3中有一行显示:
Bundler.require(:default, Rails.env) if defined?(Bundler)
我未能将其升级为如下所示:
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end