Рабл, убери родительский элемент у детей

Может ли кто-нибудь помочь мне избавиться от элемента "item" внутри "items

вывод должен быть:
"list":{ "items":[ { { data1: "test" } , { data2: "test2" } } }

collection @list

child :items => :items do
  attributes :place_id
end

child :items do
  child :place do |place|
    extends 'places/place', object: place
  end
end

токовый выход:
"list":{ "items":[{ "item":{data1: "test"} "item":{ data2: "test2"}}}

3 ответа

У меня была такая же проблема, и это было решением. Вам может понадобиться создать файл с именем для настройки rabl.
конфиг / Инициализаторы /rabl.config.rb

Rabl.configure do |config|
    config.include_json_root = true
    config.include_child_root =  false
end

Старый вопрос, для справки будущих пользователей:

Запустите файл rabl_init.rb, отключить root с помощью config.include_json_root = false, если вам все еще нужен корень в объектах вашей коллекции, используйте что-то вроде:

collection @orders, :object_root=>"order"
    extends "api/v1/orders/show"
# End of @orders

Существует рабочее решение для удаления корневых элементов в дочерних узлах по адресу: Удаление дочерних корневых узлов в RABL

Настройка config.include_json_root = false кажется, удаляет только корень первого уровня JSON.

Другие вопросы по тегам