i've implemented search feature in rails project, alongside actsastaggableon gem can tag post model, when use search function doesn't show posts no tags, below code:
search controller
class searchcontroller < applicationcontroller def search if params[:q].nil? @posts = [] else @posts = post.search params[:q] end end end
post model
class post < activerecord::base acts_as_taggable def self.search(search) joins(:tags) .where("title :search or content :search or tags.name :search", search: "%#{search}%") end end
your code produces query inner join
, need left join
, query with:
includes(:tags).references(:tags).where( # remaining of query
or write join statement yourself:
joins("left join tags on tags.id=...") # incomplete
Comments
Post a Comment