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

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

なんで??

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

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 do not you register as a user and use Qiita more conveniently?
  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
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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