中間テーブルに一度で複数のレコードを同じカラムに保存したいと思っています。
なかなか情報が得られない上に、私の質問力が低いため回答を得られず困惑しています
中間テーブルは以下になります。
category_tweets
id | tweet_id | category_id |
---|---|---|
##やりたい処理
以下のようにcategory_idを一度の保存で複数保存したいです
id | tweet_id | category_id |
---|---|---|
1 | 1 | 1 |
2 | 1 | 2 |
optionタグでプルダウンを作成して、optionタグで選択されたデータをそれぞれを中間テーブルに保存したいです。
optionタグの値がcategory_idに保存されます
###現在の処理
jsファイルでselect optionを2つ設定しています。
.js
childSelectHtml = `<select name="item[][category_ids]" class="tournament_select_child" id="children_category"> <option value="" data-category="" >選択してください</option> ${insertHTML}</select>` $(".school").append(childSelectHtml) childSelectHtml2 = `<select name="item[][category_ids]" class="tournament_select_child" id="children_category"> <option value="" data-category="" >選択してください</option> ${insertHTML}</select>` $(".school2").append(childSelectHtml2) }
optionタグの2つのnameをどう受け取って、中間テーブルに保存させようか悩んでいます。
現在は配列を使って以下のように受け取っていますが、これでは保存されません。
tweets.controller.rb
def tweet_params params.permit(item: []).merge(user_id: current_user.id) end
###検証
調べてみても、セレクトボックスでの情報しかなく、binding.pryを使ってitemの中身を確認しようとしても、item自体が見つかりません(jsで送信しているから?)
よろしくお願いします。仕様的に不可能であるならば、その旨も教えていただきたいです