在我的应用程序中,用户可以开始和参与讨论。他们还可以标记讨论;当他们这样做时,会创建一个包含标签名称的标签(如果它不存在的话),并且还会创建一个标签,它会记住哪个用户用什么标签标记了哪个讨论。
所以在讨论模型中,我们有这个:
has_many :taggings
has_many :tags, :through => :taggings
我正在尝试创建一种简单的方法来从一个用户那里检索讨论中的所有标签。理想情况下,named_scopes 将被明智地用于保持事物的美观和清洁。我认为它应该看起来像这样:
tags = @discussion.tags.from_user(@user)
在 Tag 类中编写这个 named_scope 非常困难。它应该是什么样子?我是否需要以某种方式将它与 Taggings 表连接起来?