【发布时间】:2013-03-28 20:07:04
【问题描述】:
这对我来说可能很难解释,所以如果不清楚,请告诉我,以便我可以根据需要进行编辑!
我有以下例子:
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),而且我有点开车坚果。
我应该尝试使用关联来实现这一点,还是在我的用户模型中创建一个具有一些 ActiveRecord/SQL 的实例方法来将所有组成员的主题合并到一个 ActiveRecord::Relation 对象中?
我的目标是在控制器的操作中写入current_user.feed_topics。
【问题讨论】:
-
嗨,你能澄清一下 GroupUser 应该代表什么吗?一个用户有很多组用户是什么意思?
-
嗨@Rebitzele,我编辑了我的问题以澄清。虽然我在这里 - GroupUser 基本上是一个会员对象,将各种用户与各种组连接起来。您现在可能可以自己回答第二个问题 :) 希望对您有所帮助。感谢您的关注。
标签: ruby-on-rails model-associations ruby-on-rails-4