システム内の各ユーザーが評価できる「興味」のリストがあります。管理者はいつでも興味を追加/削除できます。ユーザーが自分のアカウントを編集するときに、システム内のすべての興味のリストと、値が 1..5 のドロップダウンを表示したいと考えています。これをどうやって設定したのか気になる..
accept_nested_attributes を使用しても機能しないようです。これは、field_for を使用すると、保存された各興味のフォームを作成する必要があるためです。私が望むのは、各興味が表示され、保存時に、ユーザーが以前に興味を評価したことがある場合は値を更新し、以前に評価されていない場合は新しいエントリを追加することです。
現在のユーザー:
has_many :user_interests, :dependent => :destroy
has_many :interests, :through => :user_interests, :foreign_key => :user_id
accepts_nested_attributes_for :user_interests
現在 UserInterest:
belongs_to :user
belongs_to :interest
現在の興味:
has_many :user_interests, :dependent => :destroy
has_many :users, :through => :user_interests, :foreign_key => :interest_id, :dependent => :destroy