我有一个简单的应用程序,用户可以在通过人工验证时注册。 为此我的设置是这样的:
型号:
include Humanizer
attr_accessor :bypass_humanizer
require_human_on :create, :unless => :bypass_humanizer
查看:
<%= f.label :humanizer_answer, @advertisement.humanizer_question %>
<%= f.hidden_field :humanizer_question_id %>
这一切都有效。
另外,我想允许管理员用户在ActiveAdmin面板中注册新用户。
正如我们现在的ActiveAdmin使用控制器操作,如果我们不覆盖它们。 根据Humanizer文档,当我想禁用人工验证时,我必须将 bypass_humanizer 设置为 true 。
所以我要覆盖这样的创建动作:
controller do
def create
bypass_humanizer = true
super
end
end
但它不想按预期工作。
对此有何帮助?
提前感谢您的时间。
答案 0 :(得分:1)
ActiveAdmin.register Model do
before_create do |model|
model.bypass_humanizer = true
end
end
或者您可以在表单中放置名称为bypass_humanizer且值为true的隐藏输入。