Kor*_*tor 2 activerecord ruby-on-rails has-and-belongs-to-many
我使用一个简单的模型进行用户授权,使用两个ActiveRecords User,Role
User并且Role彼此之间具有HABTM关系.
我尝试创建一个用户界面,通过简单的复选框为用户分配角色 - 就像在Railscasts第17集中一样.
我的问题是,无论是User#new还是User#update_attributes使用提交我的表单更新之间的关系的参数User对象和它的作用.params[:user][:role_ids]包含正确的值.但是@user.roles在之后调用User.new(params[:user])或@user.update_attributes(params[:user])返回一个空数组.
手动分配角色@user.roles或@user.role_ids工作,但不是内部或"魔术".User#newUser#update_attributes
有任何想法吗?
您在User模型中具有attr_accessible或attr_protected调用的可能性很高,从而使role_ids不受大规模分配的影响.
如果您真的想通过质量赋值运算符更新角色,只需添加即可
attr_accessible :role_ids
Run Code Online (Sandbox Code Playgroud)
到你的模型.但是,我建议您先阅读http://railspikes.com/2008/9/22/is-your-rails-application-safe-from-mass-assignment,了解质量分配的所有潜在问题.
| 归档时间: |
|
| 查看次数: |
2071 次 |
| 最近记录: |