我正在使用可标记的行为。两种模型:用户和帖子。
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']
这行得通。
现在,问题是我希望另一个用户能够出现并为帖子添加标签。也许这个用户会认为它很有帮助。让我们假设这样做是有意义的。可能是主持人……随便。
鉴于上述情况,假设多个用户添加了标签,我将如何获得给定帖子上所有标签的列表?
谢天谢地,
新泽西州