Ruby on rails 钢轨尺寸为“;“第三级”;成员
我有3种型号: 地区、社会、成员——它们是这样的: 这个地区有很多社会,社会有很多成员 我如何获得与区域相关的成员的规模——假设Region1有100个成员(每个成员都在各自的社会中) 我很确定我需要一个范围Ruby on rails 钢轨尺寸为“;“第三级”;成员,ruby-on-rails,Ruby On Rails,我有3种型号: 地区、社会、成员——它们是这样的: 这个地区有很多社会,社会有很多成员 我如何获得与区域相关的成员的规模——假设Region1有100个成员(每个成员都在各自的社会中) 我很确定我需要一个范围 谢谢 在这里,您可以使用一个has\u many:通过关联,如下所示: class Region < ActiveRecord::Base has_many :societies has_many :members, through: :societies end clas
谢谢 在这里,您可以使用一个
has\u many:通过关联,如下所示:
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
的操作来获取某个区域的成员总数。我不认为这是最快的方法,但这应该适用于您当前的设置:
Region.first.societies.inject(0){ |result,s| result += s.members.count }
嗨,谢谢你,我已经在考虑走这条路了。不过,我还有一个问题……迁移呢?我是否需要添加任何新的列,如member_id或其他内容?再次感谢!在没有任何表格修改的情况下进行了尝试,令我非常惊讶的是,它确实有效。谢谢