Вы не можете отправить запрос PUT
напрямую из браузера, но вы можете подделать его, используя параметр method_override
Sinatra, который по умолчанию установлен в true в классическом стиле.Если вы используете модульный стиль, вам нужно включить его с помощью enable :method_override
.
. При этом проверяются входящие запросы на параметр с именем _method
, и, если он обнаруживает один, метод запроса вызова изменяется.к значению параметра, так что остальной части приложения кажется, что вызов был выполнен с использованием этого метода HTTP.
Чтобы заставить работать метод put
, используйте метод POST
в вашемформы, но для включения скрытого ввода с именем "_method" и значением "put"
<form name="biodata" action="form" method="post" onsubmit="validateForm()">
<input type="hidden" name="_method" value="put" />
code
</form>
Это тот же метод, который используется в Rails (фактически это то же промежуточное программное обеспечение, которое используется - Rack::MethodOverride
).