2012-06-24 2 views
2

Скажите, что у меня есть модель данных под названием Widget. Если я выбираю один виджет ...Rails: как перечислить все доступные атрибуты ActiveRecord?

widget = Widget.find(1) 

... то я могу получить его атрибуты с widget.attributes.keys.

Но что, если я не хочу найти виджет?

Есть ли способ перечислить все атрибуты класса Widget (который наследуется от ActiveRecord::Base) без необходимости сначала получить один конкретный виджет?

ответ

6

Вы можете получить атрибуты непосредственно из модели данных:

Widget.column_names 
+0

Perfect. Благодаря! –

+0

Небольшая фиксация. Это не работает с атрибутами 'password' и' password_confirmation', если вы используете 'has_secure_password'. – Zeck

1

Если вам нужны «доступные атрибуты», то есть атрибуты помечаются как доступны с attr_accessible, то вы можете использовать Widget.accessible_attributes.

Смежные вопросы