PUT方法form_for

我正在使用以下内容尝试在窗体上设置PUT方法,但它仍然在做一个post。 我已经提到了文档,似乎我正确地做到了这一点。

form_for @firm, html: {autocomplete: "off"}, url: firm_path, method: :put do |f| ... 

它这样做是因为浏览器不能很好地支持PUT / DELETE 。 您可以在Rails指南中阅读更多相关信息:

但是,在提交表单时,大多数浏览器不支持 “GET”和“POST”以外的方法。

Rails通过使用名为"_method"的隐藏输入在POST上模拟其他方法来解决此问题,该输入设置为反映所需的方法。