Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Loop over Object attributes in Ruby on Rails

Is it possible to loop over an object's attributes in Rails? I have an object and rather than code up each attribute in the view, I want to output each of them in the view as there are quite a few.

I have an object called @work_profile which has many attributes, mainly boolean check box values.

Edit: I see I can use @work_profile.attributes. Any help on formatting the hash into something more user friendly would be great.

like image 931
Robert B Avatar asked May 22 '11 02:05

Robert B


1 Answers

The ActiveRecord::Base.attributes() method returns a hash of all the attributes. You can use that to loop over all attributes.

@work_profile.attributes.each do |attr_name, attr_value|   ... end 

In a view, this would give:

<% @work_profile.attributes.each do |attr_name, attr_value| %>   <div class="work_profile_attribute">     <%= attr_name %>: <%= attr_value %>   </div> <% end %> 
like image 184
mbreining Avatar answered Sep 18 '22 15:09

mbreining