[英]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])
@result
是MetaSearch::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.