Как отправить форму на пользовательский URL-адрес с помощью другого метода HTTP?

Я использую гем simple_form для создания своих форм и хочу отправить форму в «/messages/delete_all» с помощью метода DELETE. Как я могу сделать это с помощью simple_form?

Вот что у меня есть до сих пор:

=simple_form_for :messages, :url=>{:action=>"delete_all"} do |f|    
   =f.button :submit, "Delete"

Однако это не работает. Он отправляется в «/messages/delete_all» с помощью POST.


person picardo    schedule 25.03.2011    source источник


Ответы (2)


Я бы предположил, что простая форма отображает только элемент <form> с методом DELETE. Если это так, то DELETE и PUT не поддерживаются в HTML5:

http://www.w3.org/TR/2010/WD-html5-diff-20101019/
http://dev.w3.org/html5/spec/Overview.html#attr-fs-method

Я думал, что PUT и DELETE будут поддерживаться в формах HTML5, но, похоже, их больше не будет :(

person Polaris878    schedule 25.03.2011
comment
Но Rails все равно использует скрытое поле ввода для отправки запросов на удаление. Я просто пытаюсь понять, как это сделать. - person picardo; 25.03.2011
comment
Аааа, понятно... Итак, фреймворк знает, что нужно искать скрытое поле ввода в запросе и сопоставлять его с правильным действием контроллера? - person Polaris878; 25.03.2011

person    schedule
comment
Также может быть настраиваемый параметр url: some_messages_path, см. этот ответ - person Epigene; 01.10.2015