1

Rails のヘルパー メソッドは、アプリケーションのルート URL を自動的に検出します。たとえば、user_signup_url自動的にmydoimain.com/user_signup

ただし、私の環境/ production.rb では、ホストを手動で設定する必要があります。

config.action_mailer.default_url_options = { :host => 'mydomain.com' }

これを自動的に設定する方法はありますか?おそらく次のようなもの:

config.action_mailer.default_url_options = { :host => ROOT_URL }

ありがとう!

4

2 に答える 2

0

私の記憶が正しければ、ホストは受信リクエストから「推測」されます。そのため、コントローラーとビューでアクセスできます。ただし、メーラー レベルにはリクエスト オブジェクトがないため、その場合は冗長にする必要があります。

于 2012-05-21T21:11:58.650 に答える
0

あなたが説明したのとまったく同じように、どこかグローバルな定数を設定してください。の先頭のどこかに配置しapplication.rbますか、それとも開発環境ファイルごとに異なる値を配置しますか?

Constantsまたは、内部で宣言された特定の定数を持つクラスを作成できますか? (あなたの電話は になりますConstants::ROOT_URL。)

または、Rails を起動する前にシェルで環境変数を設定し、次のコマンドでアクセスします。ENV['ROOT_URL']

他の回答では、_pathヘルパーはドメイン名を必要としないと述べています。これは本当です -- しかし、_urlヘルパーは完全な URI を提供するはずなので、ヘルパーがどのように機能するのかわかりません。_urlヘルパーがどのように機能するかを調査することをお勧めします。

于 2012-05-21T21:20:43.180 に答える