首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >attr_accessible <-> :as => :admin <-> db:seed <->

attr_accessible <-> :as => :admin <-> db:seed <->
EN

Stack Overflow用户
提问于 2012-07-18 00:31:18
回答 1查看 128关注 0票数 0

我正处于catch22的情况下。

  1. 如果必须保护用户的“角色”属性不受大量分配问题的影响,我必须使用attr_accessible并将其排除在外。
  2. 但是,如果我必须允许管理员设置它,那么我必须添加:as => :admin使用assign_attributes。
  3. 但是,如果我必须设置一些默认角色,db:seed就无法工作。

有办法满足这三个需求吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-07-18 01:51:12

关于群众性作业有几种方法,但我并不是它们的真正粉丝。

例如:

代码语言:javascript
复制
role = Role.new
role.assign_attributes({...}, :without_protection => true)
role.save

我更喜欢使用我编写的一个名为属性的宝石,它赋予您"sudo“特权:

代码语言:javascript
复制
Role.sudo_create(...)

用于创建和实例化模型的API与ActiveRecord的相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11532745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档