17

ActionMailer を使用してサインアップ確認メールを送信しています。電子メールには、ユーザーを確認するためにサイトに戻るリンクを含める必要がありますが、Rails に完全な URL (ドメインなどを含む) を生成させることはできません。

私は使用しています:

<%= url_for :controller => 'login', :action => 'verify', :guid => @user.new_user.guid, :only_path => false, :host => 'http://plantality.com' %>

私からしてみれば

パート b:

開発モードでは、上記のリンクでホストの説明を指定しないと、Rails が不満を感じます。しかし、私は本番環境でこれを行いたくありません。解決策はありますか?

4

5 に答える 5

17

ActionMailer で URL を生成するためにホストを渡す問題を解決するには、このプラグインと、私がそれを書いた理由を確認してください。

最初の問題を解決するには、該当する場合は名前付きルートを使用します。それ以外の

<%= url_for :controller => 'login', :action => 'verify', :guid => @user.new_user.guid, :only_path => false, :host => 'http://plantality.com' %>

ルートが呼び出されると仮定してlogin、使用

<%= login_url(:guid => @user.new_user.guid) %>

注意してください、私はlogin_urlではなくを使用していlogin_pathます。

于 2010-02-13T13:07:23.117 に答える
12

それがあなたが望むものかどうかはわかりませんが、config/environments/development.rb で、メーラー URL のデフォルト オプションを指定できます。

config.action_mailer.default_url_options = {
  :host => "your.host.org",
  :port => 3000
}

config/environments/production.rb で同じことができます

于 2010-02-13T12:11:12.653 に答える