ActiveModel批量分配的默认角色

时间:2012-10-01 19:39:43

标签: ruby-on-rails ruby-on-rails-3 activeadmin

给出一个模型:

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”选项,例如在后端路由命名空间的前置过滤器中?

1 个答案:

答案 0 :(得分:0)

好吧,我正在放弃这个计划,并使用strong_passwords gem来清理前端的大规模分配。这个宝石很有可能被整合到Rails 4中,它是角色麻烦的attr_accessible的一个很好的替代品。

作为旁注:strong_passwords gem的自述文件并没有真正为我删除它,但Ryan Bates在其上做了一个非常有用的Railscasts剧集(371-strong-parameters)。