input フォームについて、初回のフォームで、複数選択したユーザーをレコードに紐づけたRelationを実装したい。

連日すみません、ご質問です。

現在、下記のように経費を登録する画面を作成しています。
赤枠で囲っている部分はマルチセレクトボックスになっており、ユーザーを複数選択できます。

登録ボタンを押すとExpenseというレコードが作成・更新されます。
更新時にはTarget Personというユーザーとのリレーション(N:N)カラムに、選択したユーザーを紐づけたいと思っています。

しかし、うまく動作していないようでして、ひとりしか紐づいていないようです。

これはどうすれば解消しますでしょうか?
よろしくお願いいたします。

これ難しいですよね。
原則、
「作成」アクションが配置されている同じ画面では複数選択ドロップダウンを使用することはできません。

そのため、複数のRelationtableを実装する場合には、そのフォームとは別の画面で、実装する必要があります。

なので、やり方としては、そのRelationテーブルを登録するところ以外を”まず”入力させたあとに、次のページで、Relation登録画面に遷移するという構成だと違和感ないと思います。

フォームが1ページ、2ページに分かれている感じですね。

【参考】 関連データベースで複数選択値を選択できない

@tsubasa
ありがとうございます!
なるほど、そんな制約があるのですね…。

画面を別にしたらいけそうな感じがしております。
もう少し触りつつ、動かしてみます。
大変助かりました、ありがとうございます!

「いいね!」 1