我有一个rails_admin表单(使用rails4 ruby 2.0),带有一个布尔字段:action表示Credit或Debit操作。
我使用了字段的枚举,它在选择Credit(true)选项时起作用。 但在保存'操作不能为空'时会抛出验证错误。
我有以下代码。
field :action, :enum do
enum do
[['Credit', true], ['Debit', false]]
end
end
我还尝试使用它作为一种方法来交换枚举的用法。
def action_enum
[['Credit', true], ['Debit', false]]
end
但到目前为止还没有任何工作。 我尝试过使用rails_admin wiki:https://github.com/sferik/rails_admin/wiki的文档,但无法解决问题。
任何人都可以建议任何解决方案或指出我错过了什么?
答案 0 :(得分:0)
知道了!
这是验证:在线状态=>如果字段操作失败并返回false值,则为true。
由于false.present?
始终返回false。
答案 1 :(得分:0)
对于那些试图验证Boolean
是否存在的用户,您不能使用presence: true
。您需要使用inclusion: { in: [ true, false ] }
。
出于某种疯狂的原因,false.present? #=> true
。