user664833
user664833

Reputation: 19525

What are the match and verb equivalents of resources?

In the routing guide it says that "a single entry in the routing file, such as resources :photos creates seven eight different routes in your application, all mapping to the Photos controller:".

    photos GET    /photos(.:format)          photos#index
           POST   /photos(.:format)          photos#create
 new_photo GET    /photos/new(.:format)      photos#new
edit_photo GET    /photos/:id/edit(.:format) photos#edit
     photo GET    /photos/:id(.:format)      photos#show
           PATCH  /photos/:id(.:format)      photos#update
           PUT    /photos/:id(.:format)      photos#update
           DELETE /photos/:id(.:format)      photos#destroy

How to create the equivalent routes using match and the verb methods (get, post, patch, put, delete)?

Upvotes: 3

Views: 341

Answers (1)

user664833
user664833

Reputation: 19525

match '/photos'          => 'photos#index',   via: :get
match '/photos'          => 'photos#create',  via: :post
match '/photos/new'      => 'photos#new',     via: :get, as: 'new_photo'
match '/photos/:id/edit' => 'photos#edit',    via: :get, as: 'edit_photo'
match '/photos/:id'      => 'photos#show',    via: :get, as: 'photo'
match '/photos/:id'      => 'photos#update',  via: :patch
match '/photos/:id'      => 'photos#update',  via: :put
match '/photos/:id'      => 'photos#destroy', via: :delete

and

get    '/photos',          to: 'photos#index'
post   '/photos',          to: 'photos#create'
get    '/photos/new',      to: 'photos#new',  as: 'new_photo'
get    '/photos/:id/edit', to: 'photos#edit', as: 'edit_photo'
get    '/photos/:id',      to: 'photos#show', as: 'photo'
patch  '/photos/:id',      to: 'photos#update'
put    '/photos/:id',      to: 'photos#update'
delete '/photos/:id',      to: 'photos#destroy'

Upvotes: 5

Related Questions