【概要】
1.結論
2.whereメソッドとは何か
3.どのように使うか
4.ここから学んだこと
1.結論
whereメソッドをつかう!
2.whereメソッドとは何か
欲しい条件を探すメソッドです!
モデル.where(条件名: 条件の内容)
で使用できます!
ブログや、ニュース記事での検索ワード欄にて特定の文字を探すプログラムを記載する時に頻繁に使います!
3.どのように使うか ---------------------------------------- 自分は下記のように使用しました!
time_controller.rb
@times = Time.where(user_id: current_user.id).includes(:user).order("created_at DESC")
現在ログインしているユーザーが投稿した物を、投稿した人=ログインしているユーザー(current_user.id)のみに表示させたかったのでwhereメソッドを使用しました!
includes(:user)はN+1問題解決(プログラムの無駄な処理を軽減)し、order("created_at DESC")は新規投稿順にしています!
参考にしたURL:
[Rails]ログインユーザーidを使って、異なるテーブルに存在する値を出力したい[ActiveRecord]
5.ここから学んだこと(エラーの時に使用)
if条件式で場合分けしようとしましたが、いくら条件式作っても表示自体を制限しないと、条件式下で全部表示されてしまいます。whereメソッドは検索ワード欄を作りたいと意識するあまりに、本質は”表示を制限する”ことが抜けていました。具体的な事象➡︎抽象的な事象に変換するともっとメソッドに対しての活用視野が広がると確信しました。