mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 14:29:31 +00:00
41 lines
951 B
Markdown
41 lines
951 B
Markdown
[Back to Guides](../README.md)
|
|
|
|
# Key Transforms
|
|
|
|
Key Transforms modify the casing of keys and keys referenced in values in
|
|
serialized responses.
|
|
|
|
Provided key transforms:
|
|
|
|
| Option | Result |
|
|
|----|----|
|
|
| `:camel` | ExampleKey |
|
|
| `:camel_lower` | exampleKey |
|
|
| `:dash` | example-key |
|
|
| `:unaltered` | the original, unaltered key |
|
|
| `:underscore` | example_key |
|
|
| `nil` | use the adapter default |
|
|
|
|
Key translation precedence is as follows:
|
|
|
|
##### Adapter option
|
|
|
|
`key_transform` is provided as an option via render.
|
|
|
|
```render json: posts, each_serializer: PostSerializer, key_transform: :camel_lower```
|
|
|
|
##### Configuration option
|
|
|
|
`key_transform` is set in `ActiveModelSerializers.config.key_transform`.
|
|
|
|
```ActiveModelSerializers.config.key_transform = :camel_lower```
|
|
|
|
##### Adapter default
|
|
|
|
Each adapter has a default transform configured:
|
|
|
|
| Adapter | Default Key Transform |
|
|
|----|----|
|
|
| `Json` | `:unaltered` |
|
|
| `JsonApi` | `:dash` |
|