使用ActiveRecord枚举查询

时间:2017-12-11 23:07:47

标签: ruby rails-activerecord

我的模型中有以下枚举

formatoptions: { decimalPlaces: 4, decimalSeparator: ",", thousandsSeparator: ".", defaultValue: " " }

当我这样做时:

  enum email_reminders: { disabled_reminders: 0, default_reminders: 1, friendly_reminders: 2 }

我得到了这个结果:

Company.where.not(email_reminders: :disabled_reminders).to_sql

当我这样做时:

 => "SELECT \"companies\".* FROM \"companies\" WHERE (\"companies\".\"email_reminders\" != NULL)"

我得到了

Company.where(email_reminders: [:default_reminders, :friendly_reminders]).to_sql

根据文档,这应该可行吗?我正在使用ActiveRecord 4.2.6

1 个答案:

答案 0 :(得分:0)

在打算使用Rails 5 documentation for ActiveRecord::Enum时,您可能一直在查看Rails 4.2.6 documentation for ActiveRecord::Enum。在Rails 4.2.6中,文档声明:

  

枚举属性的条件必须使用枚举的序数值。

并且没有显示您正在做什么的任何示例,而在Rails 5文档中,缺少关于要求序数值的声明,并且他们显示您正在使用的示例