Sometimes I forget the simple differences between Rail’s helpers. This mini post is so I don’t forget.
*_path
Generates relative URLs: /users
Used in views by link_to
, form_for
, etc. (per DHH)
The browser maps relative URLs to absolute URLs based on the current page’s protocol and host (/users
on the page http://domain.com/new
translates to http://domain.com/users
)
*_url
Generates absolute URLs: http://domain.com/users
Used in controllers by redirect_to
(per DHH) because RFC 2616 states that redirects must be absolute URLS. This is true, however, modern browsers can handle relative URL redirects now too
Used this today. :)