当我们用map.some_link
这样的名字在routes.rb
中定义路由时.我们可以通过两种方式使用链接——some_link_url
some_link_path
.
- 两者之间有什么区别?
- 使用哪个更安全?
当我们用map.some_link
这样的名字在routes.rb
中定义路由时.我们可以通过两种方式使用链接——some_link_url
some_link_path
.
我有同样的问题,我写了a small post about this in my blog
原因总结如下(我在论坛上发现):
*_路径用于视图,因为AHREF隐式链接到当前URL.所以一遍又一遍地重复是浪费字节.不过,在控制器中,重定向到需要*url,因为HTTP规范要求3xx重定向中的Location:头是一个完整的url.
Here is another explanation表示这取决于我们从非SSL站点链接到SSL站点时是否需要使用绝对URI,反之亦然.
到目前为止,我所读到的并不意味着它们中的任何一个比另一个更安全.这实际上取决于什么是"正确的"用法.