Sha256: 4964d7ba79d2cf4b8b8836226fb526adb8a75fe8b0f7c26d774ff6680bc2cafc

Contents?: true

Size: 1.2 KB

Versions: 7

Compression:

Stored size: 1.2 KB

Contents

[Back to Guides](../README.md)

# How to add root key

Add the root key to your API is quite simple with ActiveModelSerializers. The **Adapter** is what determines the format of your JSON response. The default adapter is the ```Attributes``` which doesn't have the root key, so your response is something similar to:

```json
{
  "id": 1,
  "title": "Awesome Post Tile",
  "content": "Post content"
}
```

In order to add the root key you need to use the ```JSON``` Adapter, you can change this in an initializer:

```ruby
ActiveModelSerializers.config.adapter = :json
```

You can also specify a class as adapter, as long as it complies with the ActiveModelSerializers adapters interface.
It will add the root key to all your serialized endpoints.

ex:

```json
{
  "post": {
    "id": 1,
    "title": "Awesome Post Tile",
    "content": "Post content"
  }
}
```

or if it returns a collection:

```json
{
  "posts": [
    {
      "id": 1,
      "title": "Awesome Post Tile",
      "content": "Post content"
    },
    {
      "id": 2,
      "title": "Another Post Tile",
      "content": "Another post content"
    }
  ]
}
```

[There are several ways to specify root](../general/serializers.md#root) when using the JSON adapter.

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
active_model_serializers-0.10.6 docs/howto/add_root_key.md
active_model_serializers-0.10.5 docs/howto/add_root_key.md
active_model_serializers-0.10.4 docs/howto/add_root_key.md
agi_active_model_serializers-0.10.9 docs/howto/add_root_key.md
agi_active_model_serializers-0.10.8 docs/howto/add_root_key.md
agi_active_model_serializers-0.10.7 docs/howto/add_root_key.md
active_model_serializers-0.10.3 docs/howto/add_root_key.md