如何链接元搜索的搜索方法?
@result = User.search(params[:search]).search(params[:filters])
我们可以像这样调用 ActiveRecord 上的链方法
User.active.male.where( age: 14..20)
它的链接可以在元搜索的结果上吗?
最佳答案
我成功了。如果您遇到同样的问题,可以尝试以下操作。
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])
关于ruby-on-rails - 链元搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11899571/