Я пытаюсь отобразить вывод этой находки -
@test = User.joins(:plans => [:categories => [:project => :presentations]]).where(current_user.id)
Вот мой цикл вывода
<% @test.each do |p| %>
<%= p.plans %>
<% p.plans.each do |d| %>
<%= debug(d) %>
<% d.categories.each do |e| %>
<% e.project.each do |r| %>
<%= debug(r) %>
<% end %>
<% end %>
<% end %>
<% end %>
Цикл работает до тех пор, пока не получит проект, когда выдает эту ошибку
undefined method `each' for "#<Project:0x000001033d91c8>":Project
Если я изменяю это на проекты в цикле, это выдает эту ошибку
undefined method `projects' for #<Plan:0x000001033da320>
Отладка на уровне категорий показывает это
--- !ruby/object:Category
attributes:
id: 2
name: test
short_name: tst
created_at:
updated_at:
category_id: 2
plan_id: 5
Мои отношения выглядяткак это
Пользователь has_many: user_plans План has_many: user_plans has_and_belongs_to_many: категории Категория has_one: проект has_and_belongs_to_many: планы Проект has_many: презентации,: зависимый =>: delete_all Презентация принадлежит_: проект
* 1019изменил мою находку?
Спасибо, Алекс