2010-06-14 79 views
1

我在rails 2.3.8和acts_as_taggable_on插件上使用Ruby。這個插件生成三個表格:標籤(其中包含每個標籤的ID和名稱)和標籤(與tag_ids相關的標籤項目)。通過id查找標籤使用acts_as_taggable_on

現在,我想要獲得所有標記爲特定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. 

有沒有人知道一個方法來完成這個,或者至少,如何修改插件的代碼來做到這一點?

回答

0

acts_as_taggable有一個方法

Model.find_tagged_with @tag_name 

,在幾個項目對我的作品。

Method docs

+2

他說他想通過身份證找到,而不是名字。 – 2011-06-23 19:36:19

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

一年後,我希望這是有益的人!