我有三个模特:
地域,社会,成员--他们这样说:区域有许多社会,社会有许多成员
我如何获得与区域相关的成员规模--比如Region1有100个成员(每个成员都在自己的社团中)。
我很确定我需要一个望远镜..。
谢谢!
发布于 2013-12-12 09:52:17
在这里,您可以使用has_many :through关联,如下所示:
class Region < ActiveRecord::Base
has_many :societies
has_many :members, through: :societies
end
class Society < ActiveRecord::Base
belongs_to :region
has_many :members
end
class Member < ActiveRecord::Base
belongs_to :society
end现在,您可以执行类似@region.members.count的操作,以获得某个区域的成员总数。
发布于 2013-12-12 10:16:08
我不认为这是最快的方法,但这应该适用于您当前的设置:
Region.first.societies.inject(0){ |result,s| result += s.members.count }https://stackoverflow.com/questions/20539855
复制相似问题