4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

「Rails」urlとpathの違いを初心者向けに解説

Last updated at Posted at 2022-03-12

_urlと_pathの違いについて

簡単に申し上げるとurlは絶対パスでpathは相対パスである。

urlについて解説

_urlの形は絶対パスである。例えば、 
new_user_urlという書き方は http://localhost:3000/users/newと書くのと同意である。
リダイレクトではHTTPの性質上、完全なURLが求められるのでredirect_toメソッドの引数はURLで指定するべきである。
逆に言えばredirect_toメソッドの引数でしか_urlという書き方は使われない。

pathについて解説

_pathの形は相対パスである。
new_user_path という書き方は /users/newと書くのと同意である。
_pathという形は基本的にredirect_to以外で使うと覚えておけば良い。
例えばform_withやlink_toなど。

redirect_to @post」という書き方(上級者向け)

redirect_to post_url(@post)という書き方をredirect_to post_urlという書き方に省略できる。またredirect_to post_urlredirect_to @postという書き方に省略できる。

言い換えるとredirect_to post_url(@post)という書き方はredirect_to @postという書き方に省略できる!

redirect_to post_url(@post)  =>  redirect_to @post

まとめ

絶対パス
new_user_url  =>  http://localhost:3000/users/new

相対パス
new_user_path  =>  /users/new

_urlでもなく_pathでもなく変数で指定する方法(上級者向け)
redirect_to post_url(@post)  =>  redirect_to @post

以上です!分からないことや気になったことがあればお気軽に言ってください!

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?