私は非常に単純なモデルを持っています
class Lifestyle < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :profiles
end
とhas_and_belongs_to_many
関係があることProfile
class Profile < ActiveRecord::Base
attr_accessible ...
belongs_to :occupation
has_and_belongs_to_many :lifestyles
accepts_nested_attributes_for :lifestyles
end
ActiveAdmin を使用してプロファイル オブジェクトを編集したいのですが、ライフスタイルをプロファイルに割り当てたいと考えています。belongs_to :occupation
これは、利用可能な職業が事前に入力されたオプションを備えたドロップボックスに ActiveAdmin によって自動的に分類されるため、 の処理に似ているはずです。
フォームビルダーメソッドを使用しようとしましたhas_many
が、ライフスタイルの名前を入力するフォームを表示するだけで、送信時にエラーが返されました.
f.object.lifestyles.build
f.has_many :lifestyles do |l|
l.input :name
end
私が得るエラー:
Can't mass-assign protected attributes: lifestyles_attributes
私にとって完璧な方法は、DB のライフスタイルごとに 1 つずつ、複数のチェックボックスを作成することです。選択されている場合はライフスタイルがプロファイルに関連付けられていることを意味し、選択されていない場合は関連付けが削除されていることを意味します。
これが ActiveAdmin を使用して可能であり、これに対処するための非常に複雑なロジックを作成する必要がないことに大きな疑問を抱いています。ご意見をお寄せいただき、この方法をとるべきか、別のアプローチをとるべきかアドバイスをいただければ幸いです。