- Use Active Model associations in the controller
- Render nested JSON data based on model associations
In this lab, we'll be creating an API for a Craigslist-style marketplace where a
user can sell items. We have two models, User
and Item
, in a relationship
where a user has many items, and each item belongs to a user.
User -< Item
Get the lab set up by running:
$ bundle install
$ rails db:migrate db:seed
There is seed data in place so you can test your solution out in the browser or
in Postman. You can also run learn test
to run the tests.
Handle the following requests and return the appropriate JSON data in the response:
GET /users/:id
Response Body
-------
{
"id": 1,
"username": "Dwayne",
"city": "Los Angeles",
"items": [
{
"id": 1,
"name": "Non-stick pan",
"description": "Sticks a bit",
"price": 10
}
]
}
GET /items
Response Body
-------
{
"id": 1,
"name": "Non-stick pan",
"description": "Sticks a bit",
"price": 10,
"user": {
"id": 1,
"username": "Dwayne",
"city": "Los Angeles"
}
}