我有一个简单的User
模型,它Town
使用连接表 ( has_and_belongs_to_many
) 与许多对象相关联。现在我想通过分配一个逗号分隔的城镇 ID 列表(直接来自作为 HTTP POST 参数发送的表单)来更新属于特定用户的城镇。
使用以下控制器代码保存用户对象:
@current_object.update_attributes(params[:user])
params[:user]
包括,town_ids
例如,设置为1,4,6
。
不幸的是,这根本不会更新用户城镇关联。但是,如果我手动操作,效果会非常好:
User.find(:first).town_ids = "1,4,6" # this saves automatically
难道只是不可能批量分配这些collection_singular_ids
字段吗?
我的用户模型包含以下内容:
has_and_belongs_to_many :towns
# necessary for mass-assignment, otherwise it results in an exception:
attr_accessible :town_ids
任何帮助是极大的赞赏。