【发布时间】:2016-12-20 00:48:19
【问题描述】:
我有一个users 表,其中一个布尔字段处于活动状态。我在数据库中有active: true 的用户。问题,下面的查询没有给出任何结果
@users = User.where(active: true) #this results to empty array
但如果我给出 1 而不是 true,那么我会得到结果。
@users = User.where(active: 1) #this gives correct result
我不明白为什么 true 不起作用。
【问题讨论】:
-
架构文件中的用户活动设置为布尔值吗?
-
这会为您的 sql 客户端
SELECT "users"."id", "users"."active" FROM "users";上的users表上的active列返回什么?true/false或0/1? -
它返回 0/1,但我的架构说字段 active 是布尔值,而且当我运行像
User.first.active这样的查询时,这个结果是 true 而不是 0/1 -
你用的是什么数据库?
-
我正在使用 sqlite
标签: ruby-on-rails ruby-on-rails-4 activerecord