【发布时间】:2010-12-15 23:31:09
【问题描述】:
我正在使用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']
这行得通。
现在,问题是我希望其他用户能够出现并在帖子中添加标签。也许这个用户会认为它很有帮助。让我们假设这样做是有意义的。可以当版主……随便。
鉴于上述情况,假设多个用户添加了标签,我如何获得给定帖子上所有标签的列表?
非常感谢,
新泽西
【问题讨论】:
标签: ruby-on-rails acts-as-taggable-on