掲示板の一覧機能の実装
まずBoardモデルを作成(Userモデルと紐付けるため外部キーを保存できるカラムを設定する)
rails g model Board title:string body:text user:references
rails db:migrate
これでuser_idを保存できるカラムをもったBoardテーブルができました。
アソシエーションの設定
Board.rb belongs_to :user
Boardは1つのUserに属しているのでbelongs_to :user(単数形)
User.rb has_many :boards, dependent: :destroy
Userは複数のBoardを持っているのでhas_many :boards(複数形)
dependent: :destroy
Userモデルが削除された際に紐付いているBoardも削除する
次にバリデーションの設定
validates :title, presence: true, length:{ maximum: 100 }
validates :body, presence: true, length:{ maximum: 100 }
presence 空でないか検証
length:{ maximum: 100 } 値の長さの検証
コントローラーの作成
rails g controller boards
boards_controllerにindexアクションを作成して上のように取得する
@boardsを取得する際にincludesメソッドをする
includesメソッドを使用する理由はN+1問題を解消するため
あとはビューを作れば完成です!