Jshoe523
Jshoe523

Reputation: 4181

Changing Active Model Serializers Default Adapter

If I want to switch from the default attributes adapter to the JSON API adapter, where would I do this?

The getting started states this:

Generally speaking, you as a user of AMS will write (or generate) these serializer classes. If you want to use a different adapter, such as a JSON API, you can change this in an initializer:

ActiveModel::Serializer.config.adapter = :json_api

What initializer are they referring to? Do I create a new one? Sorry for the noob question

Upvotes: 19

Views: 9371

Answers (3)

K M Rakibul Islam
K M Rakibul Islam

Reputation: 34318

In general, initializers are put under the app/config/initializers directory in a Rails app.

So, in your case, you can create a new file there: ams.rb and put those content in that file:

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

Also, see this github issue.

If you want to be using the :json_api format, you have to use the 0.10.0 branch off of Github.

Upvotes: 20

slal
slal

Reputation: 2867

Create a new file with any name inside app/config/initializers/ and add:

ActiveModelSerializers.config.adapter = :json_api

All the files under initalizers directory run during initialization irrespective of the file name.

Upvotes: 0

EugZol
EugZol

Reputation: 6545

For newer version of AMS put this to config/initializers/ams.rb:

require 'active_model_serializers'

ActiveModelSerializers.config.adapter = :json_api

Upvotes: 5

Related Questions