【发布时间】:2016-12-02 10:15:56
【问题描述】:
def self.search(search)
Post.where("caption LIKE ?", "%#{search}%")
Post.joins(:tags).where('tags.name LIKE ?', "%#{search}%" )
end
在这里,我试图将这两个条件与 OR 语句结合起来,即我希望能够同时搜索帖子标题和标签名称。我如何将它们加入一行?谢谢!
PostsController
def index
if params[:search]
@posts = Post.search(params[:search]).order("created_at DESC").paginate(page: params[:page], per_page: 10)
else
@posts = Post.all.recent.paginate(page: params[:page], per_page: 10)
end
respond_to do |format|
format.html
format.js
end
end
post.rb
has_many :taggings
has_many :tags, through: :taggings
tag.rb
has_many :taggings
has_many :posts, through: :taggings
tagging.rb
belongs_to :post
belongs_to :tag
【问题讨论】:
标签: ruby-on-rails search