【发布时间】:2016-02-19 08:02:05
【问题描述】:
我有一个模型,其中一个字段有一个枚举。
class Foo < ActiveRecord::Base
enum status: [:yes, :no, :maybe, :so]
end
Status 是一个整数类型的字段。对于任何Foo 记录,我可以使用foo.yes!, foo.no! 等,并且对应的记录按预期返回foo.yes?, foo.no? 的true。
但是,当我尝试查询所有status='no'、status='maybe' 或status='so' 记录(使用方法Foo.where(status: 'no')、Foo.where(status: 'maybe') 等)时,它总是返回status='yes' 的条目。我检查了原始 SQL 查询,它似乎总是只查询 status=0 或状态为 yes 的时间。
为什么会这样?
【问题讨论】:
标签: ruby-on-rails activerecord arel