在 rails_admin 用户更新中验证 :terms 布尔值

validate :terms boolean in rails_admin user update

我在我的用户模型中设置了条款复选框的验证 (N.B.: 仅在模型中,不在数据库中)

validates :terms, acceptance: true, allow_nil: false

所以当你注册的时候你必须勾选相应的复选框。

在我的users_controller.rb中,update函数包含:

@user.terms = true

虽然在rails_admin中,更新功能仍然不起作用(它说Terms must be accepted)。如何在保存前将 :terms 字段设置为在 rails_admin 中自动为真?

假设您只希望用户必须接受有关创建操作的条款。最好将验证设置为仅检查创建操作。

 validates :terms, acceptance: true, allow_nil: false, on: :create