LoginSignup
2
3

More than 3 years have passed since last update.

[Rails] モデル.find(params[:id]) 読み方

Last updated at Posted at 2020-12-17

コード

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に代入する
このような理解をしました

ニュアンスや知識のズレがあるかもしれないので、
もし見つけられた方はご指摘いただけると幸いです

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