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

tot*_*ter 3 search ruby-on-rails

如何编写条件语句findpaginate方法以允许用户同时搜索ProjectProject Category命名?

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

@projects = Project.paginate :per_page => 20, :page => params[:page], :conditions => ['name LIKE ?', "%#{params[:search]}%"]
Run Code Online (Sandbox Code Playgroud)

所以我也Categoryname场地表.如何name在这个搜索查询中将这两个组合在一起?

vla*_*adr 8

假设你的Project模型has_many :categories:

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

:order如果/需要,请更改上述内容.