社区 has_many:代码
代码 belongs_to:社区
用户 has_many:代码
代码 belongs_to:user
用户 has_one:个人资料 个人资料 belongs_to:user
@community.codes.users.count
这将返回其代码属于社区的用户数。
代码将名为visible
的列作为布尔值
个人资料将名为notification
的列设为布尔值
如果我只想计算那些属于社区的visible
上代码为true的用户数,该怎么办?此外,user.profile.notification
必须为true
有可能算上这个吗?
我的意思是,我想获得如下计算的计数数。
我想把它放在一行。
@community.codes.each do |code|
if code.visible && code.user && code.user.profile.notification
count = count + 1
end
end
这仅解决了代码在visible
上为真的用户的数量,该用户属于社区?但它忽略了这种情况user.profile.notification => true
User.joins(:codes => :community).where("codes.visible=? AND communities.id=?", true, @community.id).count