0

我的控制器的 index 方法如下所示:

  def index
    if params["feed_source_id"]
      @feeds = Feed.find_all_by_feed_source_id(params["feed_source_id"])
    else
      @feeds = Feed.all
  end           

我刚刚将 Metasearch Gem 添加到我的应用程序中,它将我的索引中的搜索定义为:

@search = Feed.search(params[:search])

如何以菊花链方式连接这两个条件,以便 @search 执行搜索并包含 find_all_by_feed_source_id 条件?

4

2 回答 2

0

你想要这些条件的与,对吧?

我认为这应该有效:

Feed.search({ :feed_source_id_eq => params[:feed_source_id] }.merge(params[:search]))
于 2012-07-12T19:49:20.980 回答
0

不确定您的目标是什么 - 除了在索引操作中进行两次搜索之外?您想要两个搜索结果的并集还是交集?

如果你想要一个联合,你可以做类似@feeds = @feeds | @search.all 除了上面的所有代码之外,这会给你带来糟糕的表现。

我简要了解了 Metasearch Gem,它应该让您可以将 feed_source_id 作为参数之一包含在内。

于 2012-07-11T19:29:12.370 回答