Search code examples
ruby-on-railsrubyjsonruby-on-rails-4active-model-serializers

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


Solution

  • 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.