【发布时间】:2012-10-29 22:52:05
【问题描述】:
我有一个非常简单的模型
class Lifestyle < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :profiles
end
与Profile 有has_and_belongs_to_many 关系
class Profile < ActiveRecord::Base
attr_accessible ...
belongs_to :occupation
has_and_belongs_to_many :lifestyles
accepts_nested_attributes_for :lifestyles
end
我想使用 ActiveAdmin 来编辑 Profile 对象,同时将 Lifestyles 分配给配置文件。它应该类似于处理belongs_to :occupation,因为这会由 ActiveAdmin 自动分类到一个带有可用职业的选项的保管箱中。
我尝试使用 has_many 表单构建器方法,但这只让我显示一个表单以输入 Lifestyle 的名称,并且在提交时返回错误。
f.object.lifestyles.build
f.has_many :lifestyles do |l|
l.input :name
end
我得到的错误:
Can't mass-assign protected attributes: lifestyles_attributes
对我来说完美的方法是构建几个复选框,一个用于数据库中的每个生活方式。选中表示生活方式与配置文件相关联,未选中表示删除关系。
我非常怀疑这是否可以使用 ActiveAdmin 而不必创建非常复杂的逻辑来处理这个问题。 如果您能提出您的意见并建议我是应该走这条路还是采取不同的方式,我将不胜感激。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 forms associations activeadmin