我有以下型号
class Request < ActiveRecord::Base
# Enumerables
enum status: [:pending, :accepted, :completed]
end
并且迁移看起来像这样:
class CreateRequests < ActiveRecord::Migration
def change
create_table :requests do |t|
t.column :status, :integer, default: 0, index: true
end
end
end
简化,为了问题。
现在,关于我的枚举的一切工作正常。
@request.pending?
@request.accepted!
# And so on...
但是,当我执行以下查询时:
Request.where(status: :accepted)
这是我的日志显示的内容:
SELECT&#34; requests&#34;。* FROM&#34; requests&#34;在哪里&#34;请求&#34;。&#34;状态&#34; = NULL LIMIT 20 OFFSET 0
由于NULL
,这显然是错误的。现在我知道我可以做到这一点
Request.accepted
但另一种方式应该也可以,如the documentation中所述。
发生了什么事?
答案 0 :(得分:0)
答案 1 :(得分:0)
我刚刚意识到我尝试使用的功能不可用,因为我一直在阅读文档的Edge
版本,但可能仍未发布。愚蠢的错误。