13

Если я хочу переключиться с адаптера атрибутов по умолчанию на адаптер json api, где бы я это сделал?Изменение активных сериализаторов модели по умолчанию

Приступая к работе государства это:

Вообще говоря, вы, как пользователь АМС будет писать (или генерировать) эти классы Serializer. Если вы хотите использовать другой адаптер, например JsonApi, вы можете изменить это в инициализаторе:

ActiveModel::Serializer.config.adapter = :json_api 

Что инициализатор они в виду? Создать новый? Извините за вопрос noob

ответ

12

В общем, инициализаторы помещаются в каталог app/config/initializers в приложении Rails.

Таким образом, в вашем случае, вы можете создать новый файл там: ams.rb и поместить эти содержания в этом файле:

# app/config/initializers/ams.rb  
ActiveModel::Serializer.config.adapter = :json_api 

Кроме того, посмотреть github issue.

Если вы хотите использовать формат :json_api, вы должны использовать ответвление от Github.

+0

Эй, спасибо за ответ. Поэтому я попробовал это раньше, и у меня есть неопределенный метод 'config 'для ActiveModel :: Serializer: Class ... Я пропустил шаг от создания файла инициализаторов? – Jshoe523

+0

, какую версию AMS вы используете? –

+0

Смотрите: https://github.com/rails-api/active_model_serializers/issues/803 'Если вы хотите использовать формат: json_api, вы должны использовать ветку 0.10.0 от Github' –

5

Для новой версии AMS поместить это config/initializers/ams.rb:

require 'active_model_serializers' 

ActiveModelSerializers.config.adapter = :json_api 
+0

Спасибо, это должно быть в документы. – jitowix

+0

uninitialized constant ActiveModelSerializers (NameError), я поставил запрос «active_model_serializers» ActiveModelSerializers.config.adapter =: json_api в config/initializers/ams.rb, выбросив выше ошибку при перезапуске сервера rails – kamal

0

Создать новый файл с любым именем внутри app/config/initializers/ и добавить:

ActiveModelSerializers.config.adapter = :json_api 

Все файлы в директории initalizers запуска во время инициализации независимо имени файла.