0

ための資産を、私はときに私は次のようなエラーませ方法エラーません、事前にコンパイル私の開発モードで生産

を取得しています

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から従うことができたので、私はそれをもっと良く説明できない。

答えて

0

以下のコマンドを試してみてください。

RAILS_ENV =生産バンドルのexecすくい資産:プリコンパイル

+0

--trace私は解決策、おかげで仲間を見つけました! – Teebo

関連する問題