我有点处于catch22的情况。
- 如果必须保护用户的“角色”属性免受批量分配问题的影响,我必须使用 attr_accessible 并排除它。
- 但是,如果我必须允许管理员设置它,那么我必须使用 assign_attributes 添加 :as => :admin。
- 但是如果我必须设置一些默认角色,那么 db:seed 将不起作用。
有没有办法满足这三个需求?
谢谢你。
我有点处于catch22的情况。
有没有办法满足这三个需求?
谢谢你。
批量分配有几种方法,但我并不是它们的粉丝。
例如:
role = Role.new
role.assign_attributes({...}, :without_protection => true)
role.save
我更喜欢使用我编写的名为sudo_attributes的 gem ,它为您提供“sudo”权限:
Role.sudo_create(...)
该 API 与 ActiveRecord 的用于创建和实例化模型的 API 相同。