ruby-on-rails - 链元搜索结果

标签 ruby-on-rails activerecord named-scope meta-search active-relation

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

@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])

这里@resultMetaSearch::Search::User 的实例所以我们可以调用relation获取 ActiveRecord::Relation 实例的方法即

@result.relation

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

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

关于ruby-on-rails - 链元搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11899571/

相关文章:

ruby-on-rails-3 - 基于多列删除重复记录?

ruby-on-rails - 是否可以否定 Rails 中的作用域?

ruby-on-rails - Rails – 测试命名范围 : test scope results or scope configuration?

ruby-on-rails - Ruby - 将 CSV 中的条目插入数据库

ruby-on-rails - Rails、范围、OR 和连接

ruby-on-rails - 无法从 http 页面显示 https 模式

ruby-on-rails - 如何在 Rails 中加载 UrlHelper 和路由?

mysql - Rails4 : How could ActiveRecord. 查找返回一个与查询对象具有不同 ID 的对象?

ruby-on-rails-4 - 深层嵌套关联中的热切加载

ruby-on-rails - 混合 acts_as_tree(祖先 gem)、acts_as_list 和默认模型范围