質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

0回答

1145閲覧

rails6のcocoon問題

Masashige1005

総合スコア14

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2020/06/05 08:57

現在rails6にてcocoonをインストールして親子の同時登録をしようとしておりますが上手く実装できません。
追加ボタンとかは実装できたのですが、最初に追加されたフォームと元からあったフォームでチェックボックスの値が同期されてしまう。元からあったフォームでチェックボックスのチェックをつけると追加されたフォームに値が同期されて同じものにチェックされて、元のフォームにはチェックは付きません。
原因がよくわかりません。view側に何か原因があると思うのですが具体的にここに原因があるとはわかりません。

controller

1 def new 2 @item = Item.new 3 @item.categories_items.build 4 @smalls = Category.where(genre_div: 1) 5 end

model

1class Category < ApplicationRecord 2 has_many :categories_items 3 has_many :categories, through: :categories_items 4end 5 6class CategoriesItem < ApplicationRecord 7 belongs_to :item, optional: true 8 belongs_to :category, optional: true 9end 10 11class CategoriesItem < ApplicationRecord 12 has_many :categories_items 13 has_many :categories, through: :categories_items 14end

view

1<%= form_with(model: @item, local: true) do |f| %> 2 <%= f.fields_for :categories_items do |q| %> 3 <%= render 'categories_items_fields', f: q %> 4 <% end %> 5<%= link_to_add_association 'add new', f, :categories_items, :partial => 'categories_items_fields', :force_non_association_create => true %> 6<% end %>

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 <%= collection_check_boxes(:building, :small_category_ids, Category.where(genre_div: 1), :id, :name, include_hidden: false) do |category| %> 10 <%= category.label do %> 11 <%= category.check_box %> 12 <%= category.text %> 13 <% end %> 14 <% end %> 15 </div> 16</li>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問