Это может быть трудным для меня объяснить, поэтому, если неясно, просто дайте мне знать, чтобы я мог редактировать по мере необходимости!Как собрать все темы, принадлежащие членам групп, в которых я состою?
У меня есть следующий пример:
class User < ActiveRecord::Base
has_many :topics
has_many :memberships
end
class Topic < ActiveRecord::Base
belongs_to :user
end
#join model between User and Group
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :group
end
class Group < ActiveRecord::Base
has_many :memberships
has_many :members, :through => :memberships, :source => :user
has_many :topics, :through => :members
end
Проблема у меня в том, что я пытаюсь создать канал (@feed_topics
) по всем темам, которые принадлежат всем членам группы Я: член, и я заводил себе немного орехов.
Должен ли я попытаться сделать это с помощью ассоциаций или создать метод экземпляра в моей модели User, который имеет некоторый ActiveRecord/SQL для объединения всех тем членов группы в один объект ActiveRecord :: Relation?
Моя цель - написать current_user.feed_topics
в действии моего контроллера.
Привет, вы можете уточнить, что должен представлять представитель GroupUser? И что это значит, что у Пользователя есть много GroupUsers? – Rebitzele
Привет @Rebitzele, я отредактировал мой вопрос, чтобы уточнить. Пока я здесь - GroupUser - это, в основном, объект членства, объединяющий различных пользователей с различными группами. Вы, вероятно, можете ответить на свой второй вопрос самостоятельно :) Надеюсь, что это поможет. Спасибо за ваш интерес. – RudyOnRails