我想以这种表格格式显示视图中对象的所有子记录:
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'
的错误。
答案 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 %>