我有以下模型,我想在“with_query”中传递多个参数,不知道如何实现它。目前你可以看到它只需要“查询”参数。如何使用country和job_type过滤它。任何帮助都会非常感激。
搜索模型
def self.search(query, country, job_type, page = 1)
results = []
Refinery.searchable_models.each do |model|
results << model.limit(RESULTS_LIMIT).with_query(query)
end if query.present?
results.flatten[0..(RESULTS_LIMIT - 1)]
end
控制器
def show
@results = Refinery::SearchEngine.search(params[:query], params[:country], params[:job_type], params[:page])
present(@page = Refinery::Page.find_by_link_url("/search"))
end
答案 0 :(得分:1)
我会尝试将在搜索模型中构建结果的行更改为:
results << model.limit(RESULTS_LIMIT).with_query(query).where(country: country, job_type: job_type)