给出一个模型:
class User < ActiveRecord::Base
attr_accessible :name, :email
attr_accessible :active, as: :backend
end
现在可以按如下方式进行质量分配:
User.new name: 'Peter', email: 'pete@foo.bar'
User.new { name: 'Peter', email: 'pete@foo.bar', active: true }, as: :backend
我正在使用active_admin gem作为后端,后者将回退到通用控制器操作,除非您明确指定操作。换句话说:每当进行质量分配时,我都必须编写一个显式操作,以便添加“as :: backend”选项。不太好。
一个解决方案当然是扭转事物并在前端动作中添加“as :: frontend”,这些动作都已明确声明。
但也许可以在全球范围内设置“as”选项,例如在后端路由命名空间的前置过滤器中?
答案 0 :(得分:0)
好吧,我正在放弃这个计划,并使用strong_passwords gem来清理前端的大规模分配。这个宝石很有可能被整合到Rails 4中,它是角色麻烦的attr_accessible的一个很好的替代品。
作为旁注:strong_passwords gem的自述文件并没有真正为我删除它,但Ryan Bates在其上做了一个非常有用的Railscasts剧集(371-strong-parameters)。