我正在使用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