在一个视图中显示三个模型

时间:2013-08-12 18:55:25

标签: ruby-on-rails ruby-on-rails-3

我有三个模型祖父母,父母和孩子,我想在一个网站上显示,如下:

Grandparents.name

  Parents.name ....

    Childreen.name ...

在模型中我有:

祖父母

has_many :parents

has_many :childreen
belongs_to :grandparents

Childreen

belongs_to :parents

所以我尝试生成这样的视图:

<% @grandparents.each do |f| %>
  <%= f.name %>
  <%= f.Parent.find(params[f.id]).each do |s| %>
     <%= s.name %>
     </p>
  <% end %>
<% end %>

但不知怎的,我得到了错误:

 Undefined Method 'Parent' for #<Grandparent:02243x>

那么我能做什么或如何在一个视图中显示所有世代?

Actuall控制器:

def index
@grandparents = Grandparent.all
end

1 个答案:

答案 0 :(得分:1)

由于grandparent有许多parents,您可以按如下方式编写语句:

<%= f.parents.each do |s| %>

这为您提供f祖父母的所有父母。