我正在使用acts-as-taggable。兩種模式:用戶和帖子。如何查看模型實例上所有用戶的標籤?
Posts belongs_to :user
User has_many :posts
郵政行爲作爲標籤。 用戶作爲標記者
所有這些都很簡單,並且正在工作。但是,我有一個用例,可能不在這個插件的工作方式之外。
我希望帖子能夠被多個用戶標記。當來自用戶的帖子創建一個標籤,它並不顯示,當你做到以下幾點:
p = Post.first
p.tag_list # this returns []
如果你看一下生成的SQL它選擇記錄,其中「tagger_id」爲NULL。在這種情況下,tagger_id當然是user_id,並且非常不是NULL。
但是,如果你回到它,你可以得到你想要的。
p = Post.find(1) # get a post to work with
p.tags_from(p.user) # returns an array of the tags: ['cats','dogs','wildebeasts']
This works。
現在,問題是我希望另一個用戶能夠前來,並添加標籤的帖子。也許這個用戶會認爲這是有幫助的。我們假設這樣做是有道理的。可以成爲主持人......無論如何。
鑑於上述情況,假設多個用戶添加了標籤,我將如何獲得給定帖子上所有標籤的列表?
感激,
NJ
感謝您的迴應,但其中一些特殊的插件,這是沒有非常有據可查的文件,我沒有太多的挖掘源頭弄清楚。還沒有。 :) – 2010-12-19 17:11:59
我覺得我寫得太多了。你在我最後的代碼塊中嘗試了我的建議嗎? – danneu 2010-12-19 17:35:40
如果你談論話題,不要擔心寫太多;對不起,我沒有注意到我的重複你的答案。唯一我要說的是編輯並使p成爲實例變量@p,否則視圖將不可用。 – mark 2010-12-19 19:13:33