我希望能够在我的Micropost模型中进行搜索。 Microposts拥有艺术家和歌曲属性。我使用acts_as_taggable gem来标记这些微博。在数组内简单搜索
型号微柱:
def self.search(search)
arel = order('created_at')
arel = arel.where('UPPER(artist) LIKE UPPER(?) OR UPPER(song) LIKE UPPER(?)', "%#{search}%", "%#{search}%").order('created_at') if search.present?
arel
end
此代码可以让我寻找歌手和歌曲,但我怎么也搜索标签?
Micropost.find(1).tags添加返回[#ActsAsTaggableOn ::标签ID:18,名称: “摇滚”,#ActsAsTaggableOn ::标签ID:3,名称: “RAP”]
微柱。 find(1).tags.map(&:name)返回一个类似于[“rock”,“rap”的数组]
如何查询micropost的标签不在表格中以及艺术家和歌曲?谢谢。
有点像添加另一个where()像?
where(self.tags.map(&:name), 'LIKE UPPER(?)', "%#{search}%")