我有Item
型号:
class Item < ActiveRecord::Base
...
define_index do
...
has deleted_at
indexes deleted_at
end
...
然后我停止服务器,运行rake ts:rebuild && rake ts:reindex && rake ts:restart
,重新启动服务器。我仍然得到错误。
触发错误的查询是:
Item.search({conditions: {deleted_at: nil}})
怎么了?
注意:我正在使用acts_as_paranoid。我的数据库已迁移,表items
的列为deleted_at
。
schema.rb中的某处:
...
create_table "items", :force => true do |t|
...
t.datetime "deleted_at"
答案 0 :(得分:2)
这里有几个相关的问题:
indexes deleted_at
行。:with
选项完成。因此,考虑到所有这些,您的索引定义应该是:
define_index do
# ...
has deleted_at
end
运行rake ts:rebuild
以确保Sphinx了解更改并更新索引文件。
然后您的搜索电话是:
Item.search with: {deleted_at: 0}