web-dev-qa-db-ja.com

Ruby on Railsのオブジェクト属性のループ

Railsでオブジェクトの属性をループすることは可能ですか?オブジェクトがあり、ビュー内の各属性をコード化するのではなく、かなりの数があるので、それらをそれぞれビューに出力したいと思います。

@work_profileというオブジェクトがあり、これには多くの属性、主にブールチェックボックス値があります。

編集:@work_profile.attributesを使用できると思います。ハッシュをよりユーザーフレンドリーなものにフォーマットするのに役立つものはあります。

37
Robert B

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 %>
64
mbreining