2

我有一个简单的查询来显示活跃的用户,但不知何故它仍然显示不活跃的用户。我正在使用狮身人面像。查询如下所示:

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 的用户。

我需要做什么才能使其仅获取那些未过期的记录?

4

3 回答 3

2

查看ThinkingSphinx

于 2009-11-25T16:28:55.190 回答
1

确保索引 is_expired 和 is_disabled 方法。抱歉,如果您已经这样做了。

于 2009-11-25T08:23:44.513 回答
1

我将列的类型从布尔更改为整数,它开始工作了!

编辑:实际上它开始在本地工作,而不是在生产中。我终于查看了执行命令 RAILS_ENV=production rake thinking_sphinx:index 的输出,看到一行内容如下: ERROR: index 'user_core': failed to create /path/to/application/production/user_core.spm: Permission否认。

然后我看到文件权限是“root root”而不是运行 index 命令的用户。这是因为一旦部署者执行了“sudo su -”等部署,并且创建的新文件以 root 作为创建者等。我不得不删除该文件,它在运行 index 命令后开始正常工作。我不确定现在是否可以从整数列类型恢复为布尔类型。

于 2009-11-25T14:03:50.520 回答