我希望能夠在我的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}%")