Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 布尔枚举抛出操作可以';Rails管理中的值不能为空_Ruby On Rails_Ruby_Enums_Rails Activerecord_Rails Admin - Fatal编程技术网

Ruby on rails 布尔枚举抛出操作可以';Rails管理中的值不能为空

Ruby on rails 布尔枚举抛出操作可以';Rails管理中的值不能为空,ruby-on-rails,ruby,enums,rails-activerecord,rails-admin,Ruby On Rails,Ruby,Enums,Rails Activerecord,Rails Admin,我有一个rails_管理表单(与rails4 ruby 2.0一起使用),带有一个布尔字段:action,它表示贷记或借记操作 我对字段使用了枚举,该字段在选择Credit(true)选项时起作用。 但在保存“操作不能为空”时抛出验证错误 我有以下代码 field :action, :enum do enum do [['Credit', true], ['Debit', false]] end end 我还尝试将enum用作一种方法来交换其用法 def action_enum

我有一个rails_管理表单(与rails4 ruby 2.0一起使用),带有一个布尔字段:action,它表示贷记或借记操作

我对字段使用了枚举,该字段在选择Credit(true)选项时起作用。 但在保存“操作不能为空”时抛出验证错误

我有以下代码

field :action, :enum do
  enum do
    [['Credit', true], ['Debit', false]]
  end
end
我还尝试将enum用作一种方法来交换其用法

def action_enum
  [['Credit', true], ['Debit', false]]
end
但到目前为止,一切都不起作用。 我试着浏览rails_admin wiki的文档:但无法解决问题

任何人都可以提出任何解决方案或指出我遗漏了什么???

明白了

字段操作的validation:presence=>true失败,值为false。
由于
false.present?
始终返回false。

对于那些试图验证布尔值是否存在的人,您不能使用
presence:true
。您需要使用
包含:{in:[true,false]}

出于某种疯狂的原因,这个:
false.present?#=>正确

依照