Есть пара вещей, которые могут пойти не так.
Во-первых, вы отправляете POST
с curl
, но у вас есть "магический" параметр _method
в вашем URL, и он установлен на PUT
. Исходя из ошибки, похоже, что Rails принимает POST
в качестве авторитетного типа запроса. Попробуйте без этого и посмотрите, что получится.
При более пешеходной ошибке маршрутизация (в config/routes.rb
может быть настроена так, чтобы не разрешать POST
запросы на действие, которое вы пытаетесь использовать.
Если вы используете стандартный контроллер RESTful, это имеет смысл, поскольку вы обращаетесь к члену (/people/12
), который по умолчанию допускает только GET
, PUT
и DELETE
.
Я бы попробовал использовать curl -X PUT
и отбросить ?_method=PUT
из вашего запроса.