Ruby on rails 访问多级关联失败(ActiveRecord)

Ruby on rails 访问多级关联失败(ActiveRecord),ruby-on-rails,ruby,ruby-on-rails-6,Ruby On Rails,Ruby,Ruby On Rails 6,我不知道如何在视图中访问多级关联 我有3个主要模型:类别、活动和投票(不包括不相关的行): 以下两行我的类别控制器均不适用于此目的: def index # With this I can already access the associated Activities, but not the Votes @categories = Category.all() end 我一定是遗漏了什么 //编辑:这是我现在根据尼尔的建议得出的观点: <% @categori

我不知道如何在视图中访问多级关联

我有3个主要模型:类别、活动和投票(不包括不相关的行):

以下两行我的类别控制器均不适用于此目的:

  def index
    # With this I can already access the associated Activities, but not the Votes
    @categories = Category.all()
  end
我一定是遗漏了什么

//编辑:这是我现在根据尼尔的建议得出的观点:

<% @categories.each do |category| %>
  <% category.activity.each do |activity| %>
    <%= activity.vote.ids.count %>
  <% end %>
<% end %>

我能看看你的日志吗

我想你们这里有很多活动

''

尝试从下面的代码中查找投票


''

谢谢!我现在确实看到我正在恢复一系列的活动,这是有道理的,因为你给我指出了它。您建议的代码有效,但不是每个
活动的
票数列表,而是每个
类别的
票数列表,我想显示每个
类别的
票数总数。但我不确定如何以及在何处使用这种逻辑。也许不应该在视图中执行此操作?您可以将该逻辑移动到helper
activity
中,因为它是多个。使用正确的命名将帮助您理解为什么这不起作用,
category.activities.vote
没有多大意义,您无法访问一组活动的
.vote
。谢谢,我现在看到了这一点,并立即更改了命名,以防止将来出现这种情况。我将把每个类别的所有活动的所有投票相加的逻辑放在哪里?这个问题中的代码有很多问题<代码>有很多:投票,从属::销毁
投票
有很多类别,感谢您的指点。我查看了我所有的MVC,并将它们更正为正确的命名约定。
class Vote < ApplicationRecord
  # Many (users and activities) to one (votes) relationship
  belongs_to :user
  belongs_to :activity
end

<% @categories.each do |category| %>
  <%= category.activity.ids.count %>
<% end %>
<%= category.activity.vote.ids.count  %>
  def index
    # With this I can already access the associated Activities, but not the Votes
    @categories = Category.all()
  end
  def index
    # Changing the Category controller as follows seems to have no effect on being able to access the number of votes
    @categories = Category.joins({:activity => :vote}).group('category_id').order('COUNT(activities.id) DESC')
  end
<% @categories.each do |category| %>
  <% category.activity.each do |activity| %>
    <%= activity.vote.ids.count %>
  <% end %>
<% end %>