我有一个简单的查询来显示活跃的用户,但不知怎的,它仍然显示非活动用户。我正在使用狮身人面像。查询如下所示:
User.search keywords,:conditions=>conditions, :match_mode=>:boolean, :order =>sort_order.to_s, :page => page,:per_page =>per_page
条件哈希看起来像这样:
conditions = {:is_expired => false, :is_disabled => false,...}
条件包括:: is_expired => false,但它会获取具有以下内容的用户:is_expired = true。
我需要做些什么才能获取那些未过期的记录?
答案 0 :(得分:2)
答案 1 :(得分:1)
确保索引is_expired和is_disabled方法。如果你已经这样做了,请道歉。
答案 2 :(得分:1)
我将列的类型从布尔值更改为整数,并且它开始工作了!
编辑:实际上它开始在本地工作,而不是生产。我终于看了一下执行命令的输出 RAILS_ENV =生产佣金thinking_sphinx:index 并看到一行如下: 错误:index'user_core':无法创建/path/to/application/production/user_core.spm:权限被拒绝。
然后我看到文件权限是“root root”而不是运行index命令的用户。这是因为一旦部署者执行“sudo su - ”等部署,并且创建的新文件是root用户创建者等。我必须删除该文件,并在运行index命令后开始正常工作。我不确定现在是否可以从整数列类型恢复为布尔值。