本番サーバーでそのエラーが発生しましたが、その理由がわかりません。次のコマンドを実行すると発生します。
bundle exec rake assets:precompile Rails_ENV=production
私はRails 3.1.0.rc6を使用しています
これはおそらく、config/application.rb
がRails/all
(デフォルト)を必要としないためですが、一部のカスタムでは必要です。
これを解決するには、config/application.rb
に以下を追加します。
require 'sprockets/railtie'
これが古い投稿であることは知っていますが、これを回答に追加すると、誰か(おそらく私の将来の自分)に役立つかもしれないと思いました。
load 'deploy/assets'
require 'sprockets/railtie'
プロダクションでアセットジェムを必要としないからかもしれないと思います。デフォルトでは、Railsは、本番環境でアセットを事前にコンパイルしていることを前提としています。config/ application.rbでこれを変更してください:
この行をコメントアウトします。
Bundler.require * Rails.groups(:assets =>%w(開発テスト))
そして、この行のコメントを解除します。
Bundler.require(:default、:assets、Rails.env)
それは奇妙です。あなたはいつでも追加してみることができます
load "sprockets/assets.rake"
あなたのRakefileに。アクションパックのレールタイに含まれている必要があります。
私のRakefileには次のものが含まれています。
require File.expand_path('../config/application', __FILE__)
Qnm::Application.load_tasks
私はこのコマンドを(まったくの習慣から)APIのみのアプリのルートで実行していましたが、もちろんアセットはありません。