##やりたいこと
以下のURLのようなサイトを作りたいです。
http://rails.densan-labs.net/form/many_to_many_form.html
しかし、少し特殊なのは
多対多ですが、
商品の新規作成ページの際に、
商品カテゴリの部分は予め、フォームが用意されている点です。
(商品カテゴリを追加ボタンで一つ一つ追加するのではなく、
Category.allの数だけ予め用意しておく)
そして、登録を押すと、
中間テーブルである
ProductCategoryの定期購読(subscript)のカラム(boolean)の値が入るようなことをやりたいです。
上記URLではカテゴリを追加ボタンを押して一レコードずつ作成してましたが、
そうではなく、あらかじめ、全件の中間テーブルのレコードを用意しておきたいです。
現状の実装
現状の実装では、上記URLの通りしているため、
accepts_nested_attributes_for
をmodelに定義した上で
viewに
f.fields_for :xxxx do |ff|
を記述して実装しております。
しかし、この実装では、編集時にはやりたいようなことができますが、
新規登録時にはできません。
理由は、編集の時にはproductのidがあるため、以下の様な実装ができますが、
newの時にはidがないのでできません。
@categories.each do |category| ProductCategory.find_or_create_by(product_id: params[:id], category_id: category.id) end
##別の方法として
view側でCategory.allのインスタンスをループさせてできないかなと考えたのですが、
この部分はよくわからず、手詰まり感を感じております。
- @categories.all.each do |category| f.xxxxxxxx
どなたかアドバイスいただけないでしょうか?
不足事項は都度追加していきます。
よろしくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。