include_root_in_json не работает должным образом - PullRequest
0 голосов
/ 22 марта 2012

Я реализовал as_json в родительской модели следующим образом:

def as_json(options = {})
  options[:include] = :items
  super(options)
end

include_root_in_json = true установлен в конфигурации.

Что я ПОЛУЧАЮ:1009 *

Но то, что я ХОЧУ, таково:

[
    {
        "order": {
            "items": [
                {
                    "item": {
                        "key1": "value1"
                    }
                },
                {
                    "item": {
                        "key1": "value2"
                    }
                }
            ],
            "key1": "value1"
        }
    }
]

Таким образом, корневое имя не включено для вложенных ассоциаций.Это ошибка или я что-то упустил?

1 Ответ

0 голосов
/ 22 марта 2012

Насколько я могу судить, include_root_in_json не работает для вложенных атрибутов, а только для самого корня, например:

[
  {
    "videos": {
      "video": [
        "id": 1
      ]
    }
  }
]

Для этого примера будет удален корень "videos".

Подсказка Я обнаружил, что as_json не очень хорош, если вы создаете что-то вроде API, где вам иногда нужно быть очень гибким. По этой причине я использую RABL, возможно, вам стоит попробовать https://github.com/nesquena/rabl

...