Самая большая проблема с этим кодом заключается в том, что он полностью unidiomati c. В Rails вы создаете, считываете, обновляете и уничтожаете (CRUD) ресурсы по следующим маршрутам:
HTTP Method Path Controller#Action
GET /todos(.:format) todos#index
POST /todos(.:format) todos#create
GET /todos/new(.:format) todos#new
GET /todos/:id/edit(.:format) todos#edit GET /todos/:id(.:format) todos#show
PATCH /todos/:id(.:format) todos#update
PUT /todos/:id(.:format) todos#update
DELETE /todos/:id(.:format) todos#destroy
Ключ здесь - это сочетание метода HTTP и пути.
GET /todos
возвращает вам все задачи, а GET /todos/:id
показывает определенный ресурс c. GET /todos/new
отображает форму для создания нового задания. POST /todos
фактически создает ресурс из представления формы. GET /todos/:id/edit
отображает форму для редактирования задачи. PATCH /todos/:id
фактически обновляет ресурс после отправки формы. DELETE /todos/:id
- Вы должны быть в состоянии угадать, что это делает.
Вы можете сгенерировать эти маршруты с помощью:
Rails.application.routes.draw do
resources :todos
end
Если вы хотите определить маршруты, которые удаляют все задачи RESTful, это должно быть определено как DELETE /todos
(без идентификатора).
Rails.application.routes.draw do
resources :todos do
delete '/', on: :collection, action: :destroy_all
end
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
См .: