3

招待にはDevise invitableを使用しています。1 つの Rails アプリで test1.domain.com、test2.domain.com などのさまざまなサブドメインを使用しており、ユーザーに送信する招待 URL にそれを反映させたいと考えています。

値は config/production.rb の構成変数に基づいているようです:

config.action_mailer.default_url_options = { host: 'www.domain.com' }

電子メール ビューで使用される URL を変更する最善の方法は、私には明確ではありません。

<%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, :invitation_token => @token) %>

accept_invitation_url のソースが見つからなかったため、どこに設定されているかさえわかりません。

どんな助けでも大歓迎です!

4

1 に答える 1

3

初歩的なミス:

秘訣は、これを工夫を凝らした避けられない質問として、また一般的な ActionMailer の質問として検索しようとするのをやめることでした。動的/

基本的には、必要なロジックでアプリケーション コントローラーの URL をリセットするだけです。

 before_filter :set_mailer_host

 def set_mailer_host
    ActionMailer::Base.default_url_options[:host] = request.host_with_port
 end
于 2015-03-12T18:52:37.663 に答える