前提・実現したいこと
Ruby on Railsでタスク管理のアプリを作っています☺️
ボードを親として作成し、子としてタスクを複数取得して表示できるように実装したいです。
commons/boardのlinkから飛んで、
= link_to 'タスク一覧を表示する',board_tasks_path(board),controller: "tasks", action: "index"
task#index
def index board = Board.find(params[:board_id]) @tasks = board.tasks.all @task = board.tasks.find(params[:board_id]) end
を表示する方向で行きます。
発生している問題・エラーメッセージ
ActiveRecord::RecordNotFound in TasksController#index Couldn't find Task with 'id'=1 [WHERE "tasks"."board_id" = $1]
paramsでtask_idにtitleやcontentがくくられていないため、遷移先で表示できないエラーだと思いました。
task_paramsとparamsのpry結果です↓
https://gist.github.com/nikikoh/be429d07b72df01f9e59c99cc8876847
rake routes↓
https://gist.github.com/nikikoh/198b682f769990a2730b93757e7e8023
該当のソースコード
Ruby on Rails
https://github.com/nikikoh/todo-niki
試したこと
まず現状認識ですが、board_idとtask_idでルーティングを考えるあまり、
"board"=>"task"=>{"title"=>"aaaaaaaa", "content"=>"aaaaaaaaaaaaa"}
という関係性を強要してしまい、結果的にルーティングとparamsどちらもボロボロになってしまったのかな、と思いました????
今回はとにかくparamsの方を改善したいと考えています????
どちらがイイのかはわかりませんが、ルーティングの方はboard_idとtask.idで実装するので、paramsの方はtaskにtitleとcontentをくくりたいです????
試したこととしては、index中のboard_idを消してTask主体で実装し、後からboard_idを含ませる、という方法も取ったんですが、それだとparamsの根本的なエラーは治りませんでした????
requireとpermitに関してはきちんとなっていると思うので、formかlinkがミスってるのかなと考えました????
ただ、分からないことが分からない状況なので、記事が見つけられませんでした。
よろしくおねがいします????♂️
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/03 15:06 編集