我用的是吸引人的设计。我们在一个rails应用程序中使用不同的子域,如test1.domain.com、test2.domain.com等,并希望我们发送给用户的邀请url能够反映这一点。
由于该值似乎基于config /production.rb中的config var:
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的来源,所以我甚至不知道它是在哪里设置的。
任何帮助都是非常感谢的!
发布于 2015-03-12 18:52:37
菜鸟的错误:
诀窍是不要再去寻找这个问题,因为它是一个设计独特的问题,更多的是一个通用的ActionMailer问题,它使我找到了一个简单的解决方案:http://excid3.com/blog/change-actionmailer-email-url-host-dynamically/。
基本上,只要用您想要的任何逻辑重置应用程序控制器中的url:
before_filter :set_mailer_host
def set_mailer_host
ActionMailer::Base.default_url_options[:host] = request.host_with_port
endhttps://stackoverflow.com/questions/28853664
复制相似问题