2010-04-12 73 views
0

我想后,他登录了code.for前如何创建Rails的通知的URL

http://192.168.1.51:3000/logins/activate/435546dgfd757676657 #LINK包含在电子邮件

我怎么可以创建发送电子邮件给用户在我的通知器模型中的URL之上。 我知道以下方式

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

哪一个工作正常。 什么我想,主机不应该被硬编码。我怎样才能得到模型中的端口主机。

在控制器我可以使用follwing方式

request.host_with_port 

发现它请我做同样正确的红宝石路。

回答

2

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

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

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

之后,在电子邮件中的每一个环节将与主机进行。你不必再在视图中提供它。

+0

感谢名单多少达米安。 – Salil 2010-04-17 05:03:54