Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

なんで??

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

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章〜

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away