Skip to content

Commit

Permalink
Merge pull request #1155 from CodedBeardedSignedTaylor/documentation
Browse files Browse the repository at this point in the history
Outside controller use tutorial
  • Loading branch information
NullVoxPopuli committed Sep 15, 2015
2 parents 0c42e32 + 173f21d commit 2111ae8
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ This is the documentation of AMS, it's focused on the **0.10.x version.**

- [How to add root key](howto/add_root_key.md)
- [How to add pagination links](howto/add_pagination_links.md)
- [Using AMS Outside Of Controllers](howto/outside_controller_use.md)

## Getting Help

Expand Down
42 changes: 42 additions & 0 deletions docs/howto/outside_controller_use.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
## Using AMS Outside Of A Controller

### Serializing a resource

In AMS versions 0.10 or later, serializing resources outside of the controller context is fairly simple:

```ruby
# Create our resource
post = Post.create(title: "Sample post", body: "I love Active Model Serializers!")

# Optional options parameters
options = {}

# Create a serializable resource instance
serializable_resource = ActiveModel::SerializableResource.new(post, options)

# Convert your resource into json
model_json = serializable_resource.as_json
```

### Retrieving a Resource's Active Model Serializer

If you want to retrieve a serializer for a specific resource, you can do the following:

```ruby
# Create our resource
post = Post.create(title: "Another Example", body: "So much fun.")

# Optional options parameters
options = {}

# Retrieve the default serializer for posts
serializer = ActiveModel::Serializer.serializer_for(post, options)
```

You could also retrieve the serializer via:

```ruby
ActiveModel::SerializableResource.new(post, options).serializer
```

Both approaches will return an instance, if any, of the resource's serializer.

0 comments on commit 2111ae8

Please sign in to comment.