Netsted each loops

Hey,
So I keep getting “undefined method `each’ for #<Definition:
0x28fa154>”. The call that gets made returns 1 word object with 2
definition objects. I can verify both definition objects get returned
with all there attributes because I can output data like this:

<% @word.definitions.each do |h| %>


<%=h h.definition %>



<%=h h.id %>


<% end %>

But I’d like to not write out every definition attribute so I attempt
to loop those as well like this:

<% @word.definitions.each do |h| %>
<% h.each do |i| %>


<%=h h.i %>


<% end %>
<% end %>

But get the above mentioned error. My guess is I’m getting a returned
data type that is not an array? So I can’t loop them the same way?
Your suggestions would be very helpful, thanks.

2009/8/31 brianp [email protected]:

           Â


           Â


                <%=h h.i %>
           Â


        <% end %>
    <% end %>

But get the above mentioned error. My guess is I’m getting a returned
data type that is not an array? So I can’t loop them the same way?
Your suggestions would be very helpful, thanks.

If you are trying to iterate through the columns of the definition
object object you can use the content_columns array, so
h.content_columns.each do |column|

column.name contains the column name

h.send(column.name) will return the value

end

Colin

Found my problem: I needed to call the attributes array directly on
each definition object.

<% @word.definitions.each do |h| %>
<% h.attributes.each do |i| %>

<%=h i %>

<% end %> <% end %>