我试图显示此发现的输出 -轨 - 显示嵌套发现哈希
@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 介绍 belongs_to的:项目
我需要改变我的发现?
谢谢,亚历克斯
谢谢,应该是has_many – Alex 2011-01-07 15:48:21