2016-09-06 3 views
1

Я использую активные сериализаторы модели (0.10.2) с помощью адаптера json, потому что в двух сериализаторах мне нужен метатег (метатег не входит в атрибут атрибутов), у меня есть еще несколько сериализаторов где я не хочу root, можно ли отключить root для сериализатора?Отключить корень в активных сериализаторах модели

Можно ли использовать: json adapter в активных сериализаторах модели v 0.10.2 и отключить корень?

ответ

0

Per the documentation:

Ответ JSON всегда визуализируется с корневым ключом.

Корневой ключ может быть переопределен: , передающий корневой параметр в вызове рендеринга. См. Подробности в Rendering Guides.

Так команда, как:

render json: @your_serializer, root: nil, adapter: :json 

стоит попробовать.

1

Я не мог найти способ отключить корневой ключ при использовании адаптера json. Но похоже, что вы хотите, чтобы некоторые методы контроллера возвращали метаданные, а другие методы контроллера не возвращали метаданные, поэтому вы могли использовать адаптер (атрибуты) по умолчанию для методов без метаданных, а затем просто объявить: json-адаптер на где вам нужны метаданные.

Так, что-то вроде:

render json: articles, meta: articles_meta_method(articles), adapter: :json 

конечно articles_meta_method должны быть определены где-то.

Приведенный выше пример использования мета-метода для разбивки на страницы here

Смежные вопросы