当我们routes.rb
使用诸如这样的名称定义路线时,map.some_link
我们可以通过两种方式使用链接:some_link_url
,some_link_path
。
- 两者之间有什么区别?
- 使用哪个更安全?
Answers:
path
是相对而url
绝对。
答案与Petros相同,只是现代浏览器可以很好地处理相对重定向。(我会对他的回答发表评论,但我还没有。)
可以肯定地说,如果您不公开所有传递的数据,那么_path会更好,因为它会生成一个相对的url,类似于“ / login”,但_path会给出“ http:// localhost:3000 / login ”。请参考我有时发现的与此相同的博客文章。当_url比_path更好时
的_url
辅助生成包含整个URL的字符串,而_path
辅助生成包含从应用程序,例如,根目录的相对路径的字符串:
photos_url # => "http://www.example.com/photos"
photos_path # => "/photos"
根据Rails指南-路由。