Ruby on rails Rails:从一个查询中搜索多个表

Ruby on rails Rails:从一个查询中搜索多个表,ruby-on-rails,search,Ruby On Rails,Search,如何在find或paginate方法中编写条件语句,以允许用户同时在Project和Project Category名称中搜索 现在我的代码看起来像这样 @projects = Project.paginate :per_page => 20, :page => params[:page], :conditions => ['name LIKE ?', "%#{params[:search]}%"] 所以我还有Category表和name字段。如何在此搜索查询中将这两个名称组

如何在
find
paginate
方法中编写条件语句,以允许用户同时在
Project
Project Category
名称中搜索

现在我的代码看起来像这样

@projects = Project.paginate :per_page => 20, :page => params[:page], :conditions => ['name LIKE ?', "%#{params[:search]}%"]
所以我还有
Category
表和
name
字段。如何在此搜索查询中将这两个
名称
组合在一起?

我会:

@categories = Category.find :conditions => ["name like ?", "%#{params[:search]}%"]

连接@projects和@categories,然后将结果用作最终搜索结果列表。

假设您的
项目
模型
有多个:类别

@projects=Project.paginate:per_page=>20,:page=>params[:page],:joins=>:categories,:conditions=>['projects.name LIKE?或categories.name LIKE?,“%#{params[:search]}%”,“%#{params[:search]}%”,:order=>'projects.id DESC

如果需要,请更改上面的
:订单