代码之家  ›  专栏  ›  技术社区  ›  Salil

如何在Rails中创建通知的url

  •  0
  • Salil  · 技术社区  · 15 年前

    我想在用户注册code.for ex后给他发一封电子邮件

    http://192.168.1.51:3000/logins/activate/435546dgfd757676657 #电子邮件中包含的链接

    我知道怎么走

    url_for :controller=>'logins', :action=>'activate', :id=>'435546dgfd757676657' , :host=>'http://192.168.1.54:3000'
    

    工作正常。 我想要的主机不应该是硬编码的。如何在模型中获得具有端口的主机。

    在控制器中,我可以用以下方法找到它

    request.host_with_port
    

    请为我提供正确的方法做同样的事。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Damien MATHIEU    15 年前

    您可以在environment.rb文件中定义主机。

    config.action_mailer.default_url_options = { :host => 'localhost:3000' }
    

    由于您的主机可能会根据您的环境(开发、测试、生产)而变化,因此最好将配置行放在环境文件中。

    之后,电子邮件中的每个链接都将与该主机建立。你不必再在视图中提供它了。

    推荐文章