雖然沒有很好的記錄和示例中顯示,但url_for
可以與路徑(例如,url_for(signup_path)
產生/signup
)與控制器和操作一起使用。Rails - 在電子郵件中使用帶有路徑路徑的url_for`不包括主機
但是,在做這樣做時,如果在相應的環境文件中設置了主機,則不包括主機。
參考:http://api.rubyonrails.org/classes/ActionDispatch/Routing/UrlFor.html
爲什麼會出現這種現象?
雖然沒有很好的記錄和示例中顯示,但url_for
可以與路徑(例如,url_for(signup_path)
產生/signup
)與控制器和操作一起使用。Rails - 在電子郵件中使用帶有路徑路徑的url_for`不包括主機
但是,在做這樣做時,如果在相應的環境文件中設置了主機,則不包括主機。
參考:http://api.rubyonrails.org/classes/ActionDispatch/Routing/UrlFor.html
爲什麼會出現這種現象?
如果你想完整的URL,使用方法:
url_for(signup_url)
從Rails的指南route helpers:
每個[
_path
]傭工都有相應的_url
輔助(如photos_url
)它返回以當前主機,端口和路徑前綴爲前綴的相同路徑。
使用url_for在電子郵件中生成鏈接可能不是您想要的方式。無論如何,如果您想要將適當的環境附加到鏈接上,請使用signup_url而不是signup_path。
<%= link_to "Signup", signup_url %>
謝謝布雷迪..我的問題是在url_for內的link_to內(即在電子郵件內)。請參閱@Substantial獲取答案。 – user1322092 2014-10-08 00:48:07
你是什麼意思的url_for內link_to? – Brady 2014-10-30 00:58:58
太棒了!我完全錯過了......我以爲'_ulr'和'_path'只用於root('root_url'和'root_path')。 – user1322092 2014-10-08 00:46:53