【发布时间】:2013-12-06 16:31:57
【问题描述】:
我有users和things的模型
用户可以有一个leader 和多个followers,它们是其他用户。用户也可以有things
所以我有这些使用自连接关系的定义:
class User < ActiveRecord::Base
has_many :things, dependent: :destroy
has_many :followers, :class_name => 'User', :foreign_key => 'leader_id'
belongs_to :leader, :class_name => 'User', :foreign_key => 'leader_id'
end
class Thing < ActiveRecord::Base
belongs_to :user
end
所以我可以通过询问来查询things 的列表,例如User.first.things。我还可以通过User.first.followers 获得user 的followers 列表。
如何获取用户的关注者拥有的东西的列表。我想我可能需要使用has_many through 关系,但我似乎无法弄清楚,因为我不确定如何处理Leader 可以通过“追随者”拥有things 的事实,但是也直接自己
谢谢
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.2 has-many-through