В моем приложении пользователи могут запускать и участвовать в обсуждениях. Они также могут отмечать обсуждения; когда они это делают, создается тег, содержащий имя тега (если он еще не существует) и тег, который запоминает, какой пользователь пометил, какое обсуждение с каким тегом, тоже создается.
Итак, внутри модели обсуждения мы имеем это:
has_many :taggings
has_many :tags, :through => :taggings
Я пытаюсь создать простой способ получения всех тегов в обсуждении от одного пользователя. В идеале named_scopes должен использоваться разумно, чтобы все было красиво и чисто. Я думаю, это должно выглядеть примерно так:
tags = @discussion.tags.from_user(@user)
Запись этого named_scope внутри класса Tag оказывается очень сложной. Как это должно выглядеть? Нужно ли как-то объединить его с таблицей тегов?