我的控制器的索引方法如下:
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条件?
答案 0 :(得分:0)
不确定你的目标是什么 - 除了在索引动作中进行两次搜索外?你想要两个搜索结果的联合或交集吗?
如果你想要一个联盟,你可以做类似的事情 @feeds = @feeds | @ search.all 除了上面的所有代码,这将给你一个糟糕的表现。
我简要介绍了Metasearch Gem,它应该可以将feed_source_id作为参数之一包含在内。
答案 1 :(得分:0)
你想要这些条件的AND,对吧?
我认为这应该有效:
Feed.search({ :feed_source_id_eq => params[:feed_source_id] }.merge(params[:search]))