環境:ruby on rails6
gem: cocoon
現在、cocoonにて複数テーブルの保存をしようとしているのですが、cocoonで追加されたフォームが変な配列番号が入ってしまうのでどうやったら修正できるのか。
parameter
1<ActionController::Parameters {"0"=><ActionController::Parameters {"big_category_id"=>"7", "small_category_id"=>["19", "20", "37"]} permitted: false>, "1591607240334"=>{"big_category_id"=>"11", "small_category_id"=>["19", "20", "26"]}} permitted: false> 2``````1591607240334```の部分を1とかにするやり方はありませんか?追加されるフォームでそれぞれランダムな数字になってしまうので追加されたフォームは1,2,3...と続けて作られるようにしたいです。 3 4```View 5<%= f.fields_for :categories_items do |q| %> 6 <%= render 'categories_items_fields', f: q %> 7<% end %> 8<div class = "links"> 9 <%= link_to_add_association 'add new', f, :categories_items, :partial => 'categories_items_fields', :force_non_association_create => true %> 10</div>
View
1<li class="string input optional stringish" id="item_category_input"> 2 <%= f.label :カテゴリー %> 3 <div> 4 <%= f.collection_select(:big_category_id, Category.where(genre_div: 0), :id, :name, include_blank: true) %> 5 </div> 6</li> 7<li class="string input optional stringish" id="item_category_input"> 8 <div class="small_category_field"> 9 <%= f.collection_check_boxes(:small_category_id, Category.where(genre_div: 1), :id, :name, include_hidden: false) do |b| %> 10 <%= b.label { b.check_box + b.text} %> 11 <% end %> 12 </div> 13</li>
controller
1def new 2 @item = Item.new 3 @item.categories_items.build 4 @smalls = Category.where(genre_div: 1) 5end 6 7def item_params 8 params.require(:item).permit( 9 :name, :price, :stock, :handling_time, :maker, :model, :description, :memo, :sold_out_div, { small_category_ids: [] }).merge( 10 images: uploaded_images, updated_by: current_admin_user.membername, created_by: current_admin_user.membername) 11end
回答2件
あなたの回答
tips
プレビュー