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)

也不能工作..并没有任何回报。 不知道我在做什么错。

+0

这个问题#140似乎没有解决呢。 想知道为什么第二个“where”没有工作,你确定它是'Published'而不是'published'吗? –

我只是需要加入statussearch_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