2

Ruby 1.9.2 を使用すると、OSX と Windows の両方でこの問題を再現できます。

私はシンプルな Rails 3.2.3 アプリを持っていて、assetpipeline をプリコンパイルしようとしていますが、assets:precompile は何もしません。文句も言いません。

これが私がやったことです:

  1. RVM を使用して、新しいクリーンな gemset を作成し、それを rails32 と呼びます
  2. レールをインストールします: gem install rails -v 3.2.3
  3. ダミーの scaffold を作成します: rails g scaffold test name:string
  4. 製品データベースを移行します: rake db:migrate RAILS_ENV=production
  5. サーバーを本番環境で実行します: rails s -e production

この時点で、予期していたプリコンパイルされていないアセットの例外が発生します。それで:

rake assets:precompile RAILS_ENV=production を実行します

エラーなしで実行され、終了します。

その後、私のアプリは HTML のアセットをフィンガープリントしましたが、それらはどこにも存在しません。

何か案は?これは、assetpipeline を使用する最も単純な形式だと思いました。

4

1 に答える 1

0

デフォルトでは、Rails は高負荷サーバー (Apache や nginx など) が本番モードで静的アセットを提供することを想定しています。そのようなサーバーの背後でアプリを実行したくない場合は、 config/environment.rb ファイルconfig.serve_static_assetstrue.

于 2012-08-09T14:19:30.593 に答える