Searchkick过滤器与范围
问题描述:
有人使用范围模型的Searchkick?我有一个Article
模型scope :published, ->{ where(status: "Published") }
。 所以在我ArticleController
我做了以下内容: query = params[:q].presence || "*" @search = Article.published.search(query, operator: "or", suggest: true)
Searchkick过滤器与范围
,但它没有工作https://github.com/ankane/searchkick/issues/140并保持在内的所有记录
所以我做: query = params[:q].presence || "*" @search = Article.search(query, where:{status: "Published"}, operator: "or", suggest: true)
也不能工作..并没有任何回报。 不知道我在做什么错。
答
我只是需要加入status
到search_data
哈希
class Article < ActiveRecord::Base
searchkick highlight: [:title], text_start: [:title], language: "spanish"
scope :draft, ->{ where(status: "Draft") }
scope :published, ->{ where(status: "Published") }
scope :scheduled, ->{ where(status: "Scheduled") }
def search_data
{
title: title,
content: content,
status: status <--------
}
end
这个问题#140似乎没有解决呢。 想知道为什么第二个“where”没有工作,你确定它是'Published'而不是'published'吗? –