[初学者]findメソッドについて(ruby)


目的

学習の備忘録と初学者の参考資料として投稿

findメソッド

該当するモデルのテーブルからデータを検索する際に使われるメソッド。

例えば・・・

userテーブル

id name age gender
1 taro 12 male
2 hanako 11 female
3 jiro 10 male
4 keiko 9 female

検索して表示させたい→

id name age gender
○○○ ○○○ ○○○ ○○○
users_controller.rb

 def show
  @user = User.find(user:id) idを引数として検索する
 end

 *viewは省略

findは検索条件として指定できるものは「idのみ」です。データを複数取得できます。

findとfind_byの違い

find_byは、複数の条件を指定したりid以外のカラムでも検索できます。データは条件があった中で最初の一つのみ取得できる。



find_by(gender:"male")

上の例から、こんな感じで検索する。

まとめ

テーブルからデータを表示や更新や削除する場合によく使うメソッドです。他にもwhereというメソッドもあります。

今後も学習で気づきや参考になるものがあれば、アップしていきます。
もし参考になったらいいね!!よろしくお願いします