Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions skills/routing-patterns/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,20 +156,19 @@ end

## 6. Singular Resources

Use `resource` (singular) for resources where there's only one per parent:
Use `resource` (singular) instead of adding non-RESTful actions to another resource.

```ruby
resources :users do
resource :profile, only: %i[show edit update] # Only one profile per user
resource :settings, only: %i[edit update] # Only one settings per user
resource :avatar, only: %i[show update] # Only one avatar per user
resource :profile, only: %i[edit update] # Instead of edit_profile on users
resource :settings, only: %i[edit update] # Instead of edit_settings on users
end
```

**Key Points:**
- Singular resources don't have an `index` action
- URLs don't require an `:id` parameter (e.g., `/users/1/profile` not `/users/1/profiles/1`)
- Perfect for one-to-one relationships or singleton resources
- Perfect for domain concepts that have a clear owner but are not backed by their own database table (e.g., profile, settings, dashboard)

## 7. Collection and Member Routes

Expand Down