2

Rails 3.2.8 アプリケーションをプロダクション モードで実行しています。「rake assets:precompile」を実行した後、ルーティングの問題が発生しました。

私のログメッセージは次のとおりです。

ActionController::RoutingError (No route matches [GET] "/corp/assets/application-cf24b2a92e88a02835248f85a9f3c462.css"):

このファイルは存在し、現在の場所にあります。私のルートはスコープ「corp」の下にあります。

私の設定"config/application.rb"にはオプションがあります"config.assets.enabled = true"

私の設定"config/environments/production.rb"には次のオプションがあります:

config.serve_static_assets = true
config.assets.compress = true
config.assets.compile = true
config.assets.digest = true

アプリケーションは開発モードで正常に動作します。その前に assets:precompile はすべて問題ありませんでした。投稿を数時間検索した後、問題の解決策が見つかりません。これを修正するのを手伝ってください!

4

1 に答える 1

6

本番モードでは、Rails は静的アセットの提供を担当しません。したがって、このエラーが発生しています。これはconfig/environment/production.rb、アプリケーションの次の設定によって制御されます。

config.serve_static_assets = false

それに設定するかtrue、静的アセットを提供する Apache や Nginx などの実サーバーを使用することができます。Powもそうするかもしれないと思います。

アップデート

これを試して

  # Don't fallback to assets pipeline if a precompiled asset is missed
  config.assets.compile = true
  # Generate digests for assets URLs
  config.assets.digest = false
于 2012-11-20T10:39:37.480 に答える