ユーザーモデル、チームモデル、およびCoachingRoleモデルがあります。CoachingRolesモデルは、ユーザーとチームの間に1対多の関連付けがすでに存在するため、ユーザーとチームを関連付けるのに役立ちます。それぞれの関連付けは次のように設定されます。
ユーザー:
has_many :coaching_roles
has_many :teams_coaching, :through => :coaching_roles, :source => :team
チーム:
has_many :coaching_roles
has_many :coaches, :through => :coaching_roles, :source => :user
CoachingRole
belongs_to :team
belongs_to :user
ユーザーを編集するためのフォームがあり、その一部はそのCoachingRolesにチームを追加することです。これが私がこれまでに持っているselect_tagです:
= select_tag "user[coaching_role_ids]", options_for_select(@teams.map {|t| [t.name, t.id]})
その特定の行は、チームIDをユーザーに追加しますcoaching_role_ids
が、明らかにその逆は追加しません。:multiple => true
最終的にはそれに追加して、複数のチームの選択をユーザーのCoachingRolesに追加できるようにしたいと思います。これを行うための最良の方法は何ですか?