我有三个模型:用户,属于演唱会,属于地域。在某个地域收听音乐会的用户。分别建立模型belongs_to关系。
在Concerts控制器中,我像这样计算收听Concert的用户数:
@listeners = @concert.users.count但是,我想列出区域级别的每场音乐会的听众数量。在我的Region控制器中,我想要这样做:
@all_listeners = @region.concert.users.count。每个地区的每场音乐会的听众人数。我知道这段代码是不正确的,但这是一般的想法。任何在正确的方向上的观点都值得感谢。
发布于 2013-04-20 03:53:36
将has_many :through添加到您的Region类中。
class User < ActiveRecord::Base
belongs_to :concert
end
class Concert < ActiveRecord::Base
belongs_to :region
has_many :users
end
class Region < ActiveRecord::Base
has_many :concerts
has_many :users, :through => :concerts
end然后,您可以按如下方式统计地域内的用户数:
@all_listeners = @region.users.counthttps://stackoverflow.com/questions/16112404
复制相似问题