2025年08月17日の日記 📖

ささみ
今日のメモ
・Rails基礎でまたも詰まる。ロボらんてくんZに聞きつつなんとか解決。
・SQL操作でするデータ取扱と、Rails上でデータを指定して操作するデータの取扱のイメージが離れている感じ。
・中間データを使ったブックマークのレコード作成はcurrent_user.bookmark(board)で、boardにはBoard.find(params[:board_id])を指定する。
すると主キー(bookmark_id)のほかに、外部キー(user_idとboard_id)をもった中間テーブルが作成される。
これを使えば、ログインユーザーのブックマークをuser_idで絞り込んで表示することができる。
ブックマーク解除の場合、すでにブックマークテーブルに作成してあるレコードを削除する。
削除するレコードはbookmark_idで指定しなければならないので、current_user.bookmark(board)に対する操作ではエラーになる。
board = current_user.bookmarks.find(params[:id]).boardでどのブックマークレコードかを指定して、current_user.unbookmark(board)とすればOK
・SQL操作でするデータ取扱と、Rails上でデータを指定して操作するデータの取扱のイメージが離れている感じ。
・中間データを使ったブックマークのレコード作成はcurrent_user.bookmark(board)で、boardにはBoard.find(params[:board_id])を指定する。
すると主キー(bookmark_id)のほかに、外部キー(user_idとboard_id)をもった中間テーブルが作成される。
これを使えば、ログインユーザーのブックマークをuser_idで絞り込んで表示することができる。
ブックマーク解除の場合、すでにブックマークテーブルに作成してあるレコードを削除する。
削除するレコードはbookmark_idで指定しなければならないので、current_user.bookmark(board)に対する操作ではエラーになる。
board = current_user.bookmarks.find(params[:id]).boardでどのブックマークレコードかを指定して、current_user.unbookmark(board)とすればOK
visibility
公開