Rails 6
У меня проблема с поиском правильной маршрутизации для действия контроллера.
В моем файле controllers / Customers_controller.rb у меня есть следующее:
def extended_edit
customer = params[:customer]
....
end
И, на мой взгляд, у меня есть ссылка:
td = link_to extended_edit_customer_path(id: 2, customer: customer)
В моем config / rout.rb я попытался сделать:
resources :customers do
member do
post :extended_edit
end
end
Но генерируется GET вместо POST :
Started GET "/customers/2/extended_edit?...
И я получаю следующее сообщение об ошибке:
No route matches [GET] "/customers/2/extended_edit"
Мои маршруты:
extended_edit_customer POST /customers/:id/extended_edit(.:format) customers#extended_edit
customers GET /customers(.:format) customers#index
POST /customers(.:format) customers#create
new_customer GET /customers/new(.:format) customers#new
edit_customer GET /customers/:id/edit(.:format) customers#edit
customer GET /customers/:id(.:format) customers#show
PATCH /customers/:id(.:format) customers#update
PUT /customers/:id(.:format) customers#update
DELETE /customers/:id(.:format) customers#destroy
Я пытался сделать:
resources :customers do
collection do
post :extended_edit
end
end
и изменил ссылку на:
td = link_to extended_edit_customers_path(id: 2, customer: customer)
Для соответствия новому маршруту:
extended_edit_customers POST /customers/:id/extended_edit(.:format) customers#extended_edit
Но это приводит меня к:
Processing by CustomersController#show as HTML
Любые идеи