В приложении rails у меня есть действие, которое возвращает представление json для коллекции различных моделей. Это выглядит что-то как это:
respond_to :json
def index
@cars = Car.all
@vans = Van.all
respond_with({
:cars => @cars,
:vans => @vans
})
end
Однако я хочу настроить атрибуты и методы, которые передаются объекту json. Немного похоже:
respond_with({
:cars => @cars.to_json(:only => [:make, :model], :methods => [:full_name]),
:vans => @vans
})
Выполнение вышеизложенного приводит к тому, что json-представление «автомобилей» экранируется как одна большая строка, например:
{
"cars":"[{\"car\":{\"make\":\"Ford\" ... etc
"vans": [{"van":{"make":"Citreon" ... vans not escaped
}
Очевидно, я подхожу к этому неправильно. Кто-нибудь может указать мне правильное направление?