コード
user_controller.rb
def show
@user = User.find(params[:id])
end
コントローラーファイルで
こんなコードを目にするかと思いますが、
いまいち理解していなかったのでまとめてみました
findメソッド
findメソッドはテーブルからレコードを1行取得できるメソッドです
引数はidしか指定できない決まりがあります
params
paramsは送られてきたパラメーターを入れる箱のようなメソッドです
パラメーター(情報)はコントローラーはそのままの形で受け取れません
なので箱に入れてから送ります
クライアント送られてくる情報(リクエストパラメータ)は主に、getのクエリパラメータとpostでフォームから送信されるデータの2つです
params[:カラム名]
で値を受け取ることができます
リクエストパラメーターの流れ
例えば、リクエストパラメーターの流れはこんな感じです
①クライアントから「商品ページ見せて!」みたいなリクエストと同時に、その中に含まれる
情報(リクエストパラメーター)がルーティングに送られる
②paramsに格納される
③コントローラに送られる
コードの解説
user_controller.rb
def show
@user = User.find(params[:id])
end
以上を踏まえて
usersテーブル内の指定したレコードからidカラムの値を取得して@userに代入する
このような理解をしました
ニュアンスや知識のズレがあるかもしれないので、
もし見つけられた方はご指摘いただけると幸いです