4

私のgemfileは最近、私のcompass-railsgemをアップグレードしました。次のエラーが発生し始め(herokuでの本番環境のみ-ローカルで正常に動作します)、何時間も問題が発生し続けています。

Completed 500 Internal Server Error in 14284ms
2012-09-03T20:53:25+00:00 app[web.1]: 
2012-09-03T20:53:25+00:00 app[web.1]: ActionView::Template::Error (File to import not found or unreadable: compass/css3.
2012-09-03T20:53:25+00:00 app[web.1]: Load path: Sass::Rails::Importer(/app/app/assets/stylesheets/application.css.scss)

問題の一部は、/ app / app /がここのパスに表示されているという事実の中にあるに違いないと思いますが、その理由はわかりません。以下のコンパス設定を「assets/stylesheets」に変更しても、トレースエラーに/ app /app/が表示されます。

Production.rb:

  # Don't fallback to assets pipeline if a precompiled asset is missed
  config.assets.compile = false

compass.rb

# Require any additional compass plugins here.
project_type = :rails
sass_dir = "app/assets/stylesheets"

Gemfile

group :assets do
  gem 'sass-rails'
  gem 'coffee-rails'
  gem 'uglifier', '1.2.4'
  gem 'yui-compressor', '0.9.6'
  gem 'compass-rails'
end

私のapplication.css.scssファイル:

@import "compass/css3";

私はこれまで運がなくても見つけることができるすべての解決策を試してきました

何か突き出ていますか?

4

2 に答える 2

5

はい、コンパスレールを :assets の外に移動することは機能しますが、理想的な解決策ではありません。

私が見つけたherokuへのプッシュからの出力を確認する

Preparing app for Rails asset pipeline
Running: rake assets:precompile
rake aborted!

しかし、ローカルでコンパイルしています

RAILS_ENV=production rake assets:precompile

解決策は、アセットをプリコンパイルするときに DB をインスタンス化しないことです。config/application.rb で:

config.assets.initialize_on_precompile = false

compass-rails プロジェクトでこの問題を参照してください。

https://github.com/Compass/compass-rails/issues/19

于 2013-01-02T23:55:57.613 に答える
0

Railsを3.2+にアップグレードし、コンパスレールをアセットグループの外に移動して機能させることにしました。なぜそれが機能するのかはよくわかりませんが、うまくいくようです。

于 2012-09-04T03:41:41.763 に答える