2010-04-12 83 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