3

我正在使用邀请邀请。我们在单个 Rails 应用程序中使用不同的子域,例如 test1.domain.com、test2.domain.com 等,并希望我们发送给用户的邀请 url 能够反映这一点。

由于该值似乎基于 config/production.rb 中的配置变量:

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

我不清楚更改电子邮件视图中使用的网址的最佳方法是什么:

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

我找不到 accept_invitation_url 的来源,所以我什至不确定它的设置位置。

任何帮助是极大的赞赏!

4

1 回答 1

3

菜鸟错误:

诀窍是停止尝试将其作为一个设计邀请问题和更多一般 ActionMailer 问题进行搜索,这导致我找到了这个简单的解决方案:http ://excid3.com/blog/change-actionmailer-email-url-host-动态/

基本上只需使用您想要的任何逻辑重置应用程序控制器中的 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 回答