def jsontest
@users = User.all.limit(10)
render json: @users
end
дает
{
...
"id": 7,
"name": "Sage Smith",
"email": "[email protected]",
"created_at": "2013-10-17T02:29:15.638Z",
"updated_at": "2013-10-17T02:29:15.638Z",
"password_digest": "$2a$10$taHk3udtWN61Il5I18akj.E90AB1TmdL1BkQBKPk/4eZ7YyizGOli",
"remember_token": "118f807d0773873fb5e4cd3b5d98048aef4f6f59",
"admin": false
...
}
Но я хотел бы опустить некоторые определенные поля из этого API, поэтому я использую pluck
def jsontest
@users = User.all.limit(10).pluck(:id, :name, :email, :created_at) ###
render json: @users
end
но pluck возвращает массив только значений, когда я хотел бы иметь атрибуты каждого объекта, доступные с помощью хеш-ключа.
[
...
7,
"Sage Smith",
"[email protected]",
"2013-10-17T02:29:15.638Z"
...
]
Итак, как я могу эффективно вырвать значения и их ключи?
Я понимаю, что могу пронестись через @users и захватить ключи, прежде чем выщипывать и воссоздавать хэш, но я ожидаю, что будет какой-то удобный метод, который сделает именно то, что я хочу.