0

ActionController :: Base.asset_hostを設定することで、railsがアセットを探す場所を制御できることを読みました。ただし、デフォルトでは、Railsは「/ public/...」を検索する必要があります。

どういうわけか、私のRailsアプリは、開発モードのときに本番アドレスを確認することを認識しており、ActionController::Base.asset_hostをどこにも設定していません。この情報がどこにあるのかわかりません。これを設定できる場所は他にありますか?私のデプロイレシピはそれとは何の関係もないと思います...

<%= image_tag 'my_logo.png' %>

Railsが本番サーバーでファイルをチェックするようにします。スタイルシートと同じです。

4

1 に答える 1

0

Rails が私の運用ドメインを探す方法をどのように知っていたのか、よくわかりません。コードのほぼすべての場所で削除しました。docsによると、「デフォルトでは、Rails は public フォルダー内の現在のホスト上のこれらのアセットにリンクしています」が、それが何を意味するのかよくわかりません。これが再び問題になるのを防ぎ、柔軟な構成を可能にするために、アセット ホスト ドメインを環境構成に追加しました。私は今、次のようなものを持っています:

EnvironmentConfig = YAML.load(File.read(Rails.root + "config/#{rails_env}" + 'environment.yml'))[rails_env]

ActionController::Base.asset_host = EnvironmentConfig['asset_host']

今ではすべてがうまく機能しています。Rails が私の運用ドメインをどのように認識していたのかはまだわかりません。

于 2009-10-14T17:40:55.487 に答える