Кажется, что большинство браузеров не поддерживают другие методы, кроме GET и POST, так как это ограничение HTML-форм.
Вот еще один вопрос по теме:
Доступны ли методы PUT, DELETE, HEAD и т. Д. В большинстве веб-браузеров?
Чтобы смоделировать методы PUT, DELETE и т. Д., Вы можете добавить скрытый ввод в обычную форму GET / POST с помощью псевдо-метода и заставить ваше приложение перевести его так, чтобы ваши контроллеры увидели его так, как если бы оно было истинный запрос PUT, как вы упомянули. Я видел этот метод, используемый в gb sitebricks (в java - извините, у меня нет ссылок, относящихся к рельсам, но это может, по крайней мере, дать вам представление) в этом коде. Я думаю, что это вероятно, метод, с которым мы застряли, пока что-то в спецификации HTML не изменится (и браузеры с ним)
Однако GET, POST, PUT и DELETE поддерживаются в AJAX основными браузерами, поэтому не требуется скрытый ввод, если вы не полагаетесь на форму HTML.