2

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

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

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

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

它的链接可以在元搜索的结果上吗?

4

2 回答 2

3

我得到它的工作..如果你有同样的问题,你可以尝试以下。

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

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

@result是 的实例,MetaSearch::Search::User因此我们可以调用relation方法来获取ActiveRecord::Relationie的实例

@result.relation

然后我们可以在这个实例上再次调用 search 方法。IE

@result.relation.search(params[:filters])
于 2012-08-10T11:22:28.110 回答
2

一口气搜索怎么样

@result = User.search  params[:search].merge(params[:filters])
于 2012-08-10T11:26:58.453 回答