Есть ли какой-нибудь метод Ruby on Rails для преобразования объекта модели в структуру HASH? - PullRequest
11 голосов
/ 11 ноября 2010

У меня есть модель Пользователь

u=User.find(1)

Как мне преобразовать u экземпляр в хеш?Есть ли какой-нибудь встроенный метод для этого?

Ответы [ 2 ]

14 голосов
/ 20 июня 2011

Ответ здесь на SO: Объект Rails для хеширования (используйте метод .attributes)

Мне это понадобилось для метода обновления rspecing, так как вы должны дать ему хэш в качестве параметра.

7 голосов
/ 17 февраля 2016

Вы можете использовать as_json для достижения того, что вы хотите.

@object = User.find(1)

@object.as_json

as_json имеет очень гибкий способ конфигурировать сложный объект в соответствии с модельными отношениями

Пример

Мы можем исключить и такие столбцы

@object.as_json({except: [:created_at, :updated_at]})

Официальная документация для as_json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...