繁体   English   中英

链meta_search结果

[英]Chain meta_search results

如何链接元搜索的搜索方法?

@result = User.search(params[:search]).search(params[:filters])

我们可以像这样在ActiveRecord上调用链方法

User.active.male.where( age: 14..20)

是否可以在元搜索结果上进行链接?

我的工作正常。如果您遇到相同的问题,可以尝试以下方法。

meta_search的搜索方法返回meta_search MetaSearch::Search::ModelName ,其中ModelName是模型的名称。 Meta_search为此对象提供了一种方法relation 您可以调用relation方法来获取ActiveRecord::Relation对象,然后可以对该对象再次调用搜索方法。 请参阅下面的代码,以了解我在说什么。

@result = User.search(params[:search])
@search = @result.relation.search(params[:filters])

@resultMetaSearch::Search::User的实例,因此我们可以调用relation方法来获取ActiveRecord::Relation的实例,即

@result.relation

然后我们可以再次在此实例上调用搜索方法。

@result.relation.search(params[:filters])

一口气搜索

@result = User.search  params[:search].merge(params[:filters])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM