Rails 4 - 显示嵌套记录表,垂直格式化

时间:2014-05-08 19:03:32

标签: ruby-on-rails ruby ruby-on-rails-4

我想以这种表格格式显示视图中对象的所有子记录:

obj 1 | obj 2 | obj 3 | obj 4
-----------------------------
attr 1| attr 1| attr 1| attr 1
-----------------------------
attr 2| attr 2| attr 2| attr 2
-----------------------------
attr 3| attr 3| attr 3| attr 3
-----------------------------
attr 4| attr 4| attr 4| attr 4

总会有4列,即使少于4个对象(它们只是保持为空)。我不确定的是如何循环遍历属性,然后依次显示每个对象的属性,以便表格遵循上述格式。

我试过了:

<% @parent.children.attributes.each do |attr_name, attr_value| %>
  <% @parent.children.each do |itm| %>
    <% itm.attr_value %>
  <% end %>
<% end %>

使用上面的代码,我收到undefined method 'attributes'的错误。

1 个答案:

答案 0 :(得分:2)

这是否符合您的要求?

<% @parent.children.each do |itm| %>
  <%= itm.name %>
<% end %>

<% attributes = @parent.children.first.attributes %>

<% attributes.each do |attr_name, attr_value| %>
  <% @parent.children.each |itm| %>
    <%= itm.send(attr_name) %>
  <% end %>
<% end %>