Использование JBuilder для создания вложенного вывода JSON в рельсах

Я ищу примеры того, как создать вложенный вывод JSON с помощью JBuilder.

Я хочу создать и вывести подобное:

{
    "name": "John Doe", 
    "reservations": [
        {
            "restaurant": "ABC",
            "reservation_time": "2012/12/01 20:00", 
            "details": {
                "address": "somewhere", 
                "rating": "5"
            }
        }, 
        {
            "restaurant": "CDE",
            "reservation_time": "2012/12/04 20:00", 
            "details": {
                "address": "somewhere else", 
                "rating": "3"
            }
        }
    ]
}

person ESoft    schedule 29.12.2012    source источник


Ответы (1)


Решено:

json.name user.name

json.array!(@reservations) do |json, reservation|
    json.restaurant reservation.restaurant.name
    json.reservation_time reservation.time

    json.details do 
        json.address reservation.restaurant.address 
        json.rating reservation.restaurant.rating 
    end
end 
person ESoft    schedule 29.12.2012
comment
Похоже, что в этом случае много дублирования кода, если вы также можете просмотреть одно резервирование. - person Keith Smiley; 29.10.2013