# How shallow: true works in Rails

If you have nested resources in your routes of Rails, you can use `shallow: true` this way:

```rb
resources :articles, shallow: true do
  resources :comments
end
```

This will create the following URLs:

```txt
GET     /articles
POST    /articles
GET     /articles/:id
PUT     /articles/:id
DELETE  /articles/:id
GET     /articles/:article_id/comments
POST    /articles/:article_id/comments
GET     /comments/:id
PUT     /comments/:id
DELETE  /comments/:id
```

This way, list and create comments are nested inside the parent resource `article` so you don't need to pass the `article_id` manually because it's in the URLs, but you can still get an individual comment, update it or delete it directly with `/comments/:id`.