2010-06-18 76 views
0

我在軌道2.3.8上使用ruby,並且我已經安裝了acts_as_taggable_on插件來標記公告,一切都很好,直到我發現我沒有簡單明瞭的方式來獲取所有帶有特定ID標記的公告(我發現的唯一方法是Tag.tagged_with(tag_name))。是否有可能在ActiveRecord模型和插件模型之間建立關係?

所以,我只想將插件的標籤模型與我創建的(ActiveRecord)標籤模型相關聯,表示插件中包含的標籤表。

有沒有可能這樣做?

回答

0

這應該是可能的,如果他們都是ActiveRecord模型。

要定義插件模型中的關係,您必須在庫中的某處進行元編程。您可以先將它粘貼在environment.rb文件的末尾以便進行實驗。

ModelName.class_eval do 
    has_many :announcements 
end 

這尤其可能會或可能不會工作,但這是基本的想法。

如果元編程被證明是太複雜了,你總是可以只是做(作出有關此模式的假設,我還沒有幾個一年使用AAT):

Taggings.find_by_tag_id_and_user_id(@ tag.id ,@ user.id,:include =>:user).map {| t | t.user)}

+0

我有一個叫做Announcement的模型,我想要獲得所有標記爲特定tag_id的公告。我發現的唯一方法是「tagged_with(tag_name)」,而不是以「tag_id」作爲參數。我不能依靠每個標籤都有不同的名稱,我想通過id找到它們。 – 2010-06-19 00:08:42

+0

k,我點了我的答案,希望這很有幫助。 – 2010-06-20 00:57:04

相關問題