What is the difference between _url and _path while using the routes in rails

前端 未结 7 2046
萌比男神i
萌比男神i 2020-12-04 07:27

When we define routes in routes.rb using the name like map.some_link.We can use the link in two ways- some_link_url, some_link_p

7条回答
  •  时光取名叫无心
    2020-12-04 07:53

    I had the same question and I wrote a small post about this in my blog

    The reason is summarized here (I found this on a forum):

    *_path are for views because ahrefs are implicitly linked to the current URL. So it’d be a waste of bytes to repeat it over and over. In the controller, though, *_url is needed for redirect_to because the HTTP specification mandates that the Location: header in 3xx redirects is a complete URL.

    Here is another explanation which says it depends on whether we need to use an absolute URI when linking to an SSL site from a non-SSL site, and vice versa.

    What I have read so far, doesn't suggest that any of them is more secure than the other. It really comes down to what is the "proper" usage.

提交回复
热议问题