1

searchkick のクエリが間違った結果を取得します。私はdbにこの1つのレコードを持っています:

2.2.0 :047 > Product.first
  #<Product id: 1, title: "Ball", description: "<p>Ball</p>\r\n", price: 10, material: "lalala", created_at: "2015-04-21 04:30:53", updated_at: "2015-04-21 04:30:53", preview: "images__1_.jpg", count: 20> 

コントローラーProductとアクションには、次のsearchコードがあります。

    def search
          @products = Product.search "*", where:
            {
              count: 10..18
            }
      end

この後、この値でカウントが存在するという結果を取得します。しかし、db count = 20 では、常に間違った結果が得られます。どうしてか分かりません?

4

1 に答える 1

2

モデルにハッシュがなく、モデルの再インデックスが必要なため、正しい結果が得られません。

モデル内:

def search_data
    {
      count: count,
      price: price,
      title: title,
      category_id: categories.map($:id)
    }
end

その後、レールコンソールに次のように書いています。

Product.reindex
于 2015-04-21T09:02:13.240 に答える