minor updates and TYPOs

This commit is contained in:
João M. D. Moura 2015-07-16 23:29:03 -04:00
parent 456f9158ca
commit 63436c73e8
3 changed files with 13 additions and 19 deletions

View File

@ -1,6 +1,6 @@
# Docs - ActiveModel::Serializer 0.10.x # Docs - ActiveModel::Serializer 0.10.x
This is the documentation of AMS, it's focused on **0.10.x version.** This is the documentation of AMS, it's focused on the **0.10.x version.**
----- -----
@ -11,7 +11,7 @@ This is the documentation of AMS, it's focused on **0.10.x version.**
## How to ## How to
- [How to use add root key](howto/add_root_key.md) - [How to add root key](howto/add_root_key.md)
## Getting Help ## Getting Help

View File

@ -3,8 +3,7 @@
AMS does this through two components: **serializers** and **adapters**. AMS does this through two components: **serializers** and **adapters**.
Serializers describe _which_ attributes and relationships should be serialized. Serializers describe _which_ attributes and relationships should be serialized.
Adapters describe _how_ attributes and relationships should be serialized. Adapters describe _how_ attributes and relationships should be serialized.
You can use one of the built-in adapters (```FlattenJSON``` is the default one) or create one by your one but you won't need to implement an adapter unless you wish to use a new format or You can use one of the built-in adapters (```FlattenJSON``` is the default one) or create one by yourself, but you won't need to implement an adapter unless you wish to use a new format or media type with AMS.
media type with AMS.
## Built in Adapters ## Built in Adapters
@ -15,12 +14,12 @@ Doesn't follow any specifc convention.
### JSON ### JSON
It also generates a json response but always with a root key. The root key **can't be overridden**, and will be automatically defined accordingly with the objects being serialized. It also generates a json response but always with a root key. The root key **can't be overridden**, and will be automatically defined accordingly to the objects being serialized.
Doesn't follow any specifc convention. Doesn't follow any specifc convention.
### JSONAPI ### JSONAPI
This adapter follows 1.0 of the format specified in This adapter follows **version 1.0** of the format specified in
[jsonapi.org/format](http://jsonapi.org/format). It will include the associated [jsonapi.org/format](http://jsonapi.org/format). It will include the associated
resources in the `"included"` member when the resource names are included in the resources in the `"included"` member when the resource names are included in the
`include` option. `include` option.
@ -31,9 +30,9 @@ resources in the `"included"` member when the resource names are included in the
render @posts, include: 'authors,comments' render @posts, include: 'authors,comments'
``` ```
## Choose an Adapter ## Choosing an adapter
If you want to use a different adapter, such as a JsonApi, you can change this in an initializer: If you want to use a different adapter, such as JsonApi, you can change this in an initializer:
```ruby ```ruby
ActiveModel::Serializer.config.adapter = ActiveModel::Serializer::Adapter::JsonApi ActiveModel::Serializer.config.adapter = ActiveModel::Serializer::Adapter::JsonApi
@ -45,7 +44,7 @@ or
ActiveModel::Serializer.config.adapter = :json_api ActiveModel::Serializer.config.adapter = :json_api
``` ```
If you want to have a root key on your responses you should use the Json adapter, instead of the default FlattenJson: If you want to have a root key in your responses you should use the Json adapter, instead of the default FlattenJson:
```ruby ```ruby
ActiveModel::Serializer.config.adapter = :json ActiveModel::Serializer.config.adapter = :json

View File

@ -1,4 +1,4 @@
# How to use add root key # How to add root key
Add the root key to your API is quite simple with AMS. The **Adapter** is what determines the format of your JSON response. The default adapter is the ```FlattenJSON``` which doesn't have the root key, so your response is something similar to: Add the root key to your API is quite simple with AMS. The **Adapter** is what determines the format of your JSON response. The default adapter is the ```FlattenJSON``` which doesn't have the root key, so your response is something similar to:
@ -10,19 +10,14 @@ Add the root key to your API is quite simple with AMS. The **Adapter** is what d
} }
``` ```
In order to add the correspondent root key you need to use the ```JSON``` Adapter, you can change this in an initializer: In order to add the root key you need to use the ```JSON``` Adapter, you can change this in an initializer:
```ruby ```ruby
ActiveModel::Serializer.config.adapter = :json_api ActiveModel::Serializer.config.adapter = :json
``` ```
or You can also specify a class as adapter, as long as it complies with the AMS adapters interface.
It will add the root key to all your serialized endpoints.
```ruby
ActiveModel::Serializer.config.adapter = ActiveModel::Serializer::Adapter::Json
```
This will add the root key to all your serialized endpoints.
ex: ex: