Допустим, у меня есть модель Foo
ActiveRecord
с полями foo_id
, foo_name
и foo_description
.Rails: получить все поля для объекта, поступающего из базы данных
После этого что-то вроде
@foo = Foo.find(1)
Есть ли способ "model_fields
" таким образом, что: @foo.model_fields()
будет возвращать массив:
["foo_id", "foo_name", "foo_description"] ?
Спасибо за помощь.
Благодаря Эмили для быстрого ответа! Я использую .attributes = все время. Не уверен, почему я об этом не думал ... –
И если вам нужно перебирать атрибуты и значения, это просто сделать с помощью блока: '@foo.attributes.each do | k, v | ' –
Иногда Мне нужны имена столбцов в качестве символов, 'Model.column_names.map (&: to_sym)' для спасения. – Epigene