使用acts_as_taggable_on按id查找标签

Bri*_*tul 1 ruby-on-rails acts-as-taggable-on

我正在使用Ruby on rails 2.3.8和acts_as_taggable_on插件.此插件生成三个表:标签(具有每个标签的ID和名称)和标签(与标记的项目相关的tag_ids).

现在,我想要使用某个tag_id标记所有标记的项目.所以,我转到我的公告模型(公告是标记的项目),我想写这样的东西:

def find_by_category(tag_id)
  Announcement.tagged_with(tag_id) #this doesn't exist.
end
Run Code Online (Sandbox Code Playgroud)

但我发现的唯一方法是:

Announcement.tagged_with(tag_NAME) #this works, but I don't want to find by a name.
Run Code Online (Sandbox Code Playgroud)

有没有人知道实现这个的方法,或者至少,如何修改插件的代码来做到这一点?

小智 8

tag = ActsAsTaggableOn::Tag.find(tag_id)  
Announcement.tagged_with(tag)
Run Code Online (Sandbox Code Playgroud)

一年后,我希望这对某人有帮助!