Перебирать атрибуты объекта в Ruby on Rails
Можно ли закодировать атрибуты объекта в Rails? У меня есть объект, а не код для каждого атрибута в представлении, я хочу вывести каждый из них в представлении, поскольку их достаточно.
У меня есть объект с именем @work_profile
, который имеет много атрибутов, в основном логических значений флажка.
Изменить: я вижу, что могу использовать @work_profile.attributes
. Любая помощь по форматированию хэша во что-то более удобное для пользователя будет отличной.
Ответы
Ответ 1
Метод 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 %>