Adds README documentation for relationship links
This commit is contained in:
parent
89f007d069
commit
8eef7a0bb1
30
README.md
30
README.md
@ -245,6 +245,36 @@ class MovieSerializer
|
|||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Links on a Relationship
|
||||||
|
|
||||||
|
You can specify [relationship links](http://jsonapi.org/format/#document-resource-object-relationships) by using the `links:` option on the serializer. Relationship links in JSON API are useful if you want to load a parent document and then load associated documents later due to size constraints (see [related resource links](http://jsonapi.org/format/#document-resource-object-related-resource-links))
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
class MovieSerializer
|
||||||
|
include FastJsonapi::ObjectSerializer
|
||||||
|
|
||||||
|
has_many :actors, links: {
|
||||||
|
self: :url,
|
||||||
|
related: -> (object) {
|
||||||
|
"https://movies.com/#{object.id}/actors"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
This will create a `self` reference for the relationship, and a `related` link for loading the actors relationship later. NB: This will not automatically disable including the data in the relationship, you'll need to do that using the yielded block:
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
has_many :actors, links: {
|
||||||
|
self: :url,
|
||||||
|
related: -> (object) {
|
||||||
|
"https://movies.com/#{object.id}/actors"
|
||||||
|
}
|
||||||
|
} do |movie|
|
||||||
|
movie.actors.limit(5)
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
### Compound Document
|
### Compound Document
|
||||||
|
|
||||||
Support for top-level and nested included associations through ` options[:include] `.
|
Support for top-level and nested included associations through ` options[:include] `.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user