我一起使用Rails 3和Datamapper,除非我设置多对多关系,否则一切都很好。
如果我试图通过Rails控制器更新,我会运行:
@user.update(params[:user])
在params中是一个role_ids集合。但是,当我通过这个时,我收到以下消息:
The attribute 'role_ids' is not accessible in User
模型用户端的关系如下:
has n, :roles, :through => Resource
我看不出这里有什么问题 - 有人可以帮忙吗?
答案 0 :(得分:0)
这意味着您的用户模型中没有“role_ids”字段 - 这很正常,因为您的用户模型中很可能有“resource_id”。 如果您有一个表单来接受用户创建/修改中的角色创建/修改,您必须在用户中声明这样:
class User
accepts_nested_attributes_for :roles
attr_accessible :role_attributes