1

启动应用程序时出现此错误:

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 和配置文件)。知道出了什么问题吗?:(

4

1 回答 1

4

config/application.rb从 Rails 3.0.x 升级到 Rails 3.2.x 时,我错过了一个非常小但非常重要的变化

在 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
于 2012-08-22T23:16:24.700 回答