【发布时间】:2015-03-07 04:27:21
【问题描述】:
我在 Rails 电子商务项目中使用 Searchkick。用户可以搜索产品列表。
在某些情况下,某些产品不会显示在网站上(例如,如果库存 = 0 等)。
根据 searchkick 文档,我在控制器中的搜索方法为 @listings = Listing.search(params[:search])。这按预期工作。
在我的列表模型中,我有以下方法来定义可以显示哪些列表。
class Listing < ActiveRecord::Base
scope :listable, -> {
joins("INNER JOIN users
ON users.id = listings.user_id
AND users.hidelistings = 'f'") }
def self.not_expired
listable.where('(listings.updated_at >= ? or user_id = ?) and inventory > ?', Date.current - 30.day, 24, 0)
end
基于上述,我希望我的 searchkick 方法说 @listings = Listing.not_expired.search(params[:search]) 但这不起作用。如何让 searchkick 只显示符合条件的结果?
【问题讨论】:
标签: ruby-on-rails elasticsearch searchkick