web-dev-qa-db-ja.com

アクティブモデルシリアライザーのデフォルトアダプターの変更

デフォルトの属性アダプターからjsonapiアダプターに切り替えたい場合、どこでこれを行いますか?

はじめには次のように述べています。

一般的に、AMSのユーザーは、これらのシリアライザークラスを作成(または生成)します。JsonApiなどの別のアダプターを使用する場合は、初期化子でこれを変更できます:

ActiveModel::Serializer.config.adapter = :json_api

彼らはどの初期化子を参照していますか?新しいものを作成しますか?初心者の質問でごめんなさい

16
Jshoe523

一般に、イニシエーターはRailsアプリのapp/config/initializersディレクトリの下に配置されます。

したがって、あなたの場合、そこに新しいファイルを作成することができます:ams.rbそしてそれらのコンテンツをそのファイルに入れる:

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

また、これを参照してください github issue

:json_api形式を使用する場合は、Githubの0.10.0ブランチを使用する必要があります。

17

新しいバージョンのAMSの場合、これをconfig/initializers/ams.rb

require 'active_model_serializers'

ActiveModelSerializers.config.adapter = :json_api
5
EugZol