Ruby on rails 访问多级关联失败(ActiveRecord)
我不知道如何在视图中访问多级关联 我有3个主要模型:类别、活动和投票(不包括不相关的行): 以下两行我的类别控制器均不适用于此目的: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
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 %>
我能看看你的日志吗
我想你们这里有很多活动
''
尝试从下面的代码中查找投票
''谢谢!我现在确实看到我正在恢复一系列的活动,这是有道理的,因为你给我指出了它。您建议的代码有效,但不是每个
活动的票数列表,而是每个类别的票数列表,我想显示每个类别的票数总数。但我不确定如何以及在何处使用这种逻辑。也许不应该在视图中执行此操作?您可以将该逻辑移动到helperactivity
中,因为它是多个。使用正确的命名将帮助您理解为什么这不起作用,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 %>