32

本番サーバーでそのエラーが発生しましたが、その理由がわかりません。次のコマンドを実行すると発生します。

bundle exec rake assets:precompile RAILS_ENV=production

Rails3.1.0.rc6を使用しています

4

5 に答える 5

81

これはおそらくあなたconfig/application.rbが必要としないrails/all(デフォルト)ためですが、いくつかのカスタムは必要です。

これを解決するには、以下を追加しますconfig/application.rb

require 'sprockets/railtie'
于 2011-08-31T19:11:47.097 に答える
4

これは古い投稿ですが、これを回答に追加すると、誰か(おそらく私の将来の自分)に役立つかもしれないと思いました。

Capfile(またはdeploy.rb)に追加します

load 'deploy/assets'

これをapplication.rbに追加します

require 'sprockets/railtie'
于 2012-08-07T14:52:30.637 に答える
4

私はこのコマンドを(まったくの習慣から)APIのみのアプリのルートで実行していましたが、もちろんアセットはありません。

于 2018-07-24T13:39:12.527 に答える
3

実稼働でアセットジェムを必要としないからかもしれないと思います。デフォルトでは、railsは、本番環境でアセットを事前にコンパイルしていることを想定しています。config/application.rbでこれを変更します。

この行をコメントアウトします。

Bundler.require * Rails.groups(:assets =>%w(開発テスト))

そして、この行のコメントを外します。

Bundler.require(:default、:assets、Rails.env)

于 2011-09-02T08:25:39.753 に答える
1

それは奇妙です。あなたはいつでも追加してみることができます

load "sprockets/assets.rake"

あなたのRakefileに。アクションパックのレールタイに含まれている必要があります。

私のRakefileには次のものが含まれています。

require File.expand_path('../config/application', __FILE__)
Qnm::Application.load_tasks
于 2011-08-30T01:34:24.987 に答える