13

デフォルトの属性アダプタからjson apiアダプタに切り替える場合は、どこで行うのですか?このアクティブモデルシリアライザのデフォルトアダプタの変更

入門状態:

は一般的に、AMSのユーザーとして次のように記述(または生成)これらのシリアライザクラスます。あなたが別のアダプタを使用する場合は、そのようJsonApiとして、あなたは初期化子でこれを変更することができます。

ActiveModel::Serializer.config.adapter = :json_api 

彼らがどのような初期化子を参照していますか?私は新しいものを作りますか? noobの質問に申し訳ありません

答えて

12

一般的に、イニシャライザは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ブランチを使用する必要があります。 AMSの新しいバージョンについては

+0

お返事ありがとうございます。だから私はそれ以前に試して、私はActiveModel :: Serializerのための未定義のメソッド 'config 'を得る:私はちょうどイニシャライザファイルを作成することからステップがありませんか? – Jshoe523

+0

AMSのどのバージョンを使用していますか? –

+0

これを参照してください:https://github.com/rails-api/active_model_serializers/issues/803 ':json_api形式を使用する場合は、Github'の0.10.0ブランチを使用する必要があります。 –

5

config/initializers/ams.rbにこれを置く:

require 'active_model_serializers' 

ActiveModelSerializers.config.adapter = :json_api 
+0

おかげレールサーバーを再起動したときにエラーの上に投げることは、それがであるべきドキュメント。 – jitowix

+0

初期化されていない定数ActiveModelSerializers(NameError)、require 'active_model_serializers' ActiveModelSerializers.config.adapter =:config/initializers/ams.rbにjson_apiを入れて、上記のエラーが発生しました。 – kamal

0

app/config/initializers/内部の任意の名前で新しいファイルを作成し、追加します。

ActiveModelSerializers.config.adapter = :json_api 

initalizersディレクトリの下にあるすべてのファイルは関係なく、初期化時に実行しますファイル名の

関連する問題