ための資産を、私はときに私は次のようなエラーませ方法エラーません、事前にコンパイル私の開発モードで生産
を取得していますrake bundle exec rake assets:precompile RAILS_ENV=production --trace
コマンドを使用して、アプリケーションの資産をプリコンパイル時にnilのクラスに未定義[]
NoMethodError: undefined method '[]' for nil:NilClass
/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb:278:in `sprockets_context'
/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb:124:in `asset_path'
/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb:137:in `asset_url'
/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb:155:in `image_url'
/home/sable/.rvm/gems/ruby-2.3.0/gems/sass-3.4.22/lib/sass/script/tree/funcall.rb:143:in `_perform'
私はレールのコマンドを使用して開発モードで自分のサーバーを実行すると、私は次のよう
で事前コンパイルエラーの原因かもしれないと思うエラーがありますActionController::RoutingError (No route matches [GET] "/javascripts/defaults.js"):
私は、パイプラインとスプロケット資産レールを読んしかし、私は、レールフレームワークに新しいですと、 任意の方向やヘルプをいただければ幸いですすべてのまわりで私の頭をラップし、問題を解決するために見えることはできません。私は前のパスを見ることができるようにライン120から、iはライン122にライン「プット 『パス』を」追加、同様にIファイル
/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb
を編集した
ソリューション コンパイルエラーは、私は、ファイルを保存し、再度
rake bundle exec rake assets:precompile RAILS_ENV=production --trace
を走った
def asset_path(path, options = {})
path = path.value
puts path........
から来ている
私はcssファイルでsasssヘルパーメソッド 'image-url'を使用していたので、プリコンパイラが何らかの形でそのファイルにアクセスできなくなったため、拡張子css.scssの新しいファイルを作成しました。私はそれを完全には理解していないが、人々の経験、チェックアウト、http://guides.rubyonrails.org/asset_pipeline.html#css-and-sass およびHow to reference images in CSS within Rails 4から従うことができたので、私はそれをもっと良く説明できない。
--trace私は解決策、おかげで仲間を見つけました! – Teebo