Я использую гем rails plays-as-taggable и помечаю сообщения в двух контекстах: теги и темы.
Чтобы вернуть хэш всех тегов тем, которые до сих пор использовались для сообщений, я могу использовать код:
Post.tag_counts_on(:topics)
Однако я создал определенное количество тегов заданных тем, и если некоторые из этих тегов тем в настоящее время не используются в качестве тегов в сообщениях, то приведенный выше код не возвращает указанные темы.
Мне интересно, есть ли способ вернуть все соответствующие теги в зависимости от контекста - я надеялся на решение вроде:
topics = Tag.topics
Чтобы реализовать решение, я создал модель Tag.rb:
class Tag < ActiveRecord::Base
has_many :relationship_topics, :foreign_key => "topic_followed_id", :dependent => :destroy
has_many :topic_followers, :through => :relationship_topics, :source => :topic_follower
end
Здесь у меня есть код для следующих тем, но не более того.
Кто-нибудь знает, как я могу вернуться все теги основаны на контексте?