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 @w开发者_如何学编程ork_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.
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 %>
精彩评论