使用acts_as_taggable_on按id查找标签

时间:2010-06-14 17:27:13

标签: 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

但我发现的唯一方法是:

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

是否有人知道实现此目的的方法,或者至少如何修改插件的代码来执行此操作?

2 个答案:

答案 0 :(得分:8)

tag = ActsAsTaggableOn::Tag.find(tag_id)  
Announcement.tagged_with(tag)

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

答案 1 :(得分:0)

acts_as_taggable有一个方法

Model.find_tagged_with @tag_name

这在几个项目中对我有用。

Method docs