2

Amazon の EC2 サーバーに Web アプリケーションをデプロイしようとしていますが、サーバー上にコードを配置しています。すべてが機能しているように見えますが、ホームページにアクセスすると、500 エラー メッセージが表示され、production.logファイルに次のエラーが表示されます。

ActionView::Template::Error (image.png isn't precompiled)
  • 実行してみましたrake assets:precompile

  • 行を次のように変更しましconfig/environments/production.rbconfig.assets.compile = true

  • コンパイル済みであることを確認しましimage.pngpublic/assets/manifest.yml

それでも同じエラーが発生します。

Rails 3.2.6 と Ruby 1.8.7 を実行しています。

ご協力いただきありがとうございます!

4

4 に答える 4

7

実行rake assets:precompile RAILS_ENV=productionすると修正されるはずです。を指定しない場合RAILS_ENV、Rails はそれがdevelopment

これは、アセット パイプラインの各環境の動作が異なるためだと思います。したがって、原則として、本番環境では常に RAILS_ENV='production' を指定して rake タスクを実行し、安全を確保してください。

于 2012-07-31T20:54:43.647 に答える
2

私は Redhat の Openshift を使用しています。サーバーにデプロイすると、本番環境に自動的に RAKE します。私も同じ問題を抱えていましたが、本番サーバーでのみ発生しました。

変更の実行:

config/environments/production.rb から config.assets.compile = true

御馳走を働いた。このファイルには、変更可能な別のパラメーターがあります。

config.assets.precompile += %w[ *.png *.jpeg *.jpg *.gif ]

サーバーにデプロイすると、手動で次のことができます。

rake RAILS_ENV=プロダクション

または、自動的にデプロイされる Openshift などのサーバーを使用している場合は、production.rb ファイルの構成が考慮されます。

于 2013-05-12T10:54:57.443 に答える
1

config/application.rbのような行を追加します。

config.assets.precompile += ['image.png']

ただし、その中にある場合は、public/assets/imagesそうする必要はありません。

于 2012-07-31T20:45:37.897 に答える
0

解決済み -rake assets:precompile RAILS_ENV='productionただの代わりに実行する必要がありましたrake assets:precompile...

于 2012-07-31T20:49:29.713 に答える