首页 > 解决方案 > 显示和统计协会的协会

问题描述

我想计算属于某个项目的团队的用户数量。关联如下:

user belongs_to :team
team has_many :users
project has_many :teams
team belongs_to :project

在 projects/show.html.erb 中,我使用以下代码来计算属于某个项目的所有团队的用户总数

<h2 class="number"><%= @project.teams.users.count %></h2>

我收到的错误是:undefined method 'users'。我也在使用 Devise 是否需要 project_controller.rb 中的方法才能正常工作?

标签: ruby-on-railsrubydeviseassociationsrelationship

解决方案


当你这样做时@project.teams,它会返回一个数组作为团队列表,因为一个项目有很多团队,所以要找出该项目中第一个团队的用户数量,你可以做

@project.teams.first.users.count

.users.count或者你需要找到你想要的团队然后去做


推荐阅读