1

我正在使用 Ruby on rails 2.3.8 和acts_as_taggable_on 插件。该插件生成三个表:tags(具有每个标签的 id 和名称)和 taggings(与被标记的项目相关的 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.

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

4

2 回答 2

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

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

于 2012-01-04T17:07:39.427 回答
0

act_as_taggable 有一个方法

Model.find_tagged_with @tag_name

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

方法文档

于 2010-06-29T01:09:39.387 回答