Configuration Options
The following configuration options can be set on
ActiveModelSerializers.config
, preferably inside an
initializer.
General
adapter
The adapter to use.
Possible values:
-
:attributes
(default) -
:json
-
:json_api
serializer_lookup_enabled
Enable automatic serializer lookup.
Possible values:
-
true
(default) -
false
When false
, serializers must be explicitly specified.
key_transform
The key transform to use.
| Option | Result | |—-|—-| | :camel
| ExampleKey | |
:camel_lower
| exampleKey | | :dash
| example-key
| | :unaltered
| the original, unaltered key | |
:underscore
| example_key | | nil
| use the
adapter default |
Each adapter has a default key transform configured:
| Adapter | Default Key Transform | |—-|—-| | Json
|
:unaltered
| | JsonApi
| :dash
|
config.key_transform
is a global override of the adapter
default. Adapters still prefer the render option
:key_transform
over this setting.
NOTE: Key transforms can be expensive operations. If key transforms are
unnecessary for the application, setting config.key_transform
to :unaltered
will provide a performance boost.
default_includes
What relationships to serialize by default. Default:
'*'
, which includes one level of related objects. See
includes for more info.
JSON API
jsonapi_resource_type
Sets whether the type
of the resource should be singularized
or
pluralized
when it is not explicitly
specified by the serializer
Possible values:
-
:singular
-
:plural
(default)
jsonapi_include_toplevel_object
Include a top level jsonapi member in the response document.
Possible values:
-
true
-
false
(default)
jsonapi_version
The latest version of the spec to which the API conforms.
Default: '1.0'
.
Used when jsonapi_include_toplevel_object
is
true
jsonapi_toplevel_meta
Optional top-level metadata. Not included if empty.
Default: {}
.
Used when jsonapi_include_toplevel_object
is
true
Hooks
To run a hook when ActiveModelSerializers is loaded, use
ActiveSupport.on_load(:action_controller) do end