前提・実現したいこと
booksデーブル
id | title |
---|---|
1 | サンプル本 |
2 | サンプル本 |
3 | サンプル本 |
book_genresデーブル
id | book_id | genre_id | date |
---|---|---|---|
1 | 1 | 1 | 11:00 |
2 | 2 | 1 | 11:15 |
3 | 2 | 2 | 11:20 |
genresデーブル
id | genre_name |
---|---|
1 | 参考書 |
2 | 漫画 |
book < (1:n) book_genres > (n:1) genre
発生している問題・エラーメッセージ
下記のようにbook_genres
が配列とならず困っております。
=> <ActionController::Parameters { "book"=>{"title"=>"サンプル", "book_genres"=>{"date(1i)"=>"2020", "date(2i)"=>"12", "date(3i)"=>"15", "date(4i)"=>"02", "date(5i)"=>"47", "genre_id"=>"1"} } permitted: false>
本来ならこのようになる想定でします。
{"title"=>"サンプル", "book_genres_attributes"=> {"0"=>{"date(1i)"=>"2020", "date(2i)"=>"12", "date(3i)"=>"15", "date(4i)"=>"02", "date(5i)"=>"47", "genre_id"=>"1"}, "1"=>{"date(1i)"=>"2020", "date(2i)"=>"11", "date(3i)"=>"18", "date(4i)"=>"03", "date(5i)"=>"50", "genre_id"=>"2"} } }
該当のソースコード
ruby
1 <%= form_with model: @book, local: true do |f| %> 2 <%= f.text_field :title %> 3 <%= f.fields_for :book_genres, @book.book_genres.build do |od| %> 4 <%= od.time_select :date %> 5 <%= od.collection_select :genre_id, od.object.selectable_genres, :id, :genre_name, {} %> 6 <% end %> 7 <% end %>
ご教授お願いいたします。
初心者でお手数をおかけしてしまうことがあるかともいますが何卒よろしくお願いたします
あなたの回答
tips
プレビュー