Рабл, убери родительский элемент у детей
Может ли кто-нибудь помочь мне избавиться от элемента "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.