Ruby on rails actionmailer基于.LTD app.com/app.fr设置主机动态

Ruby on rails actionmailer基于.LTD app.com/app.fr设置主机动态,ruby-on-rails,ruby-on-rails-3,internationalization,actionmailer,i18n-gem,Ruby On Rails,Ruby On Rails 3,Internationalization,Actionmailer,I18n Gem,我有两种不同的语言在我的rails应用程序,并希望能够设置域名设置在正确的语言。例如,如果用户从app.FR注册,我希望在下面的示例中使用扩展名.FR而不是.COM,有没有办法做到这一点 config.action_mailer.asset_host = "http://app.com" config.action_mailer.default_url_options = {:host => 'app.com'} 解决方案似乎是在ApplicationController中设置一

我有两种不同的语言在我的rails应用程序,并希望能够设置域名设置在正确的语言。例如,如果用户从app.FR注册,我希望在下面的示例中使用扩展名.FR而不是.COM,有没有办法做到这一点

  config.action_mailer.asset_host = "http://app.com"
  config.action_mailer.default_url_options = {:host => 'app.com'}

解决方案似乎是在ApplicationController中设置一个before筛选器,并生成如下函数:

  def set_mailer_host
    ActionMailer::Base.default_url_options[:host] = request.host_with_port
  end
请记住,当从rails控制台发送邮件时,这将不起作用,因为rails控制台不会通过真正的ActionController。

似乎有。