循环遍历Ruby on Rails中的Object属性

时间:2011-05-22 02:29:02

标签: ruby-on-rails ruby-on-rails-3

是否可以在Rails中循环对象的属性?我有一个对象,而不是编码视图中的每个属性,我想在视图中输出每个属性,因为有很多。

我有一个名为@work_profile的对象,它有许多属性,主要是布尔复选框值。

编辑:我看到我可以使用@work_profile.attributes。将哈希格式化为更加用户友好的东西的任何帮助都会很棒。

1 个答案:

答案 0 :(得分:64)

ActiveRecord::Base.attributes()方法返回所有属性的哈希值。您可以使用它来遍历所有属性。

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

在视图中,这将给出:

<% @work_profile.attributes.each do |attr_name, attr_value| %>
  <div class="work_profile_attribute">
    <%= attr_name %>: <%= attr_value %>
  </div>
<% end %>