LoginSignup
3
2

More than 5 years have passed since last update.

redirect_to @userの意味がわからなかったので、調べてみた

Posted at

なんで??

初めて下記をみたとき意味がわかりませんでした。
なのでどういうことか調べてまとめてみました。

redirect_to @user

調べると下のコードと同じ意味のようです。

redirect_to user_url(@user)

user_urlだと、users/:idのようなURLになっていることが多いですが、
redirect_to user_urlだと:idの部分に何が入るのかわからないからエラーになる。
その:idの部分に何が入るか指定するのが(@user)

これも同じ意味のよう、、、

redirect_to "/users/#{@user.id}"
redirect_to user_url(id: @user.id)
redirect_to user_url(id: @user.to_param)

idを省略できる理由は、メソッドの引数URLとしてモデルオブジェクトが渡された時に、Railsはそのモデルオブジェクトのidを自動で取得して、最終的なURLを生成することができるから。

参考記事

redirect_to @userが何を省略しているかわかりますか?〜挫折しないRailsチュートリアル7章〜

3
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
3
2