【问题标题】:How to submit a form to custom url with a different HTTP method?如何使用不同的 HTTP 方法将表单提交到自定义 url?
【发布时间】:2012-10-30 02:20:21
【问题描述】:

我正在使用 simple_form gem 来构建我的表单,我想使用 DELETE 方法将表单提交到“/messages/delete_all”。如何使用 simple_form 做到这一点?

这是我目前所拥有的:

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

不过,这似乎不起作用。它通过 POST 提交到“/messages/delete_all”。

【问题讨论】:

    标签: ruby-on-rails forms simple-form


    【解决方案1】:
    simple_form_for :messages, :method => :delete, ...
    

    【讨论】:

    • 可能还有自定义的url: some_messages_path参数,见this answer
    【解决方案2】:

    我想简单的表单只是用DELETE 的方法渲染一个<form> 元素。如果是这种情况,HTML5 不支持 DELETEPUT

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

    我以为 HTML5 表单会支持 PUTDELETE,但看起来它们不再支持了 :(

    【讨论】:

    • 但是 Rails 使用隐藏的输入字段来发布删除请求。我只是想弄清楚如何做到这一点。
    • 啊,我明白了...所以框架知道在请求中查找隐藏的输入字段并将其映射到正确的控制器操作?
    猜你喜欢
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 2017-06-20
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    相关资源
    最近更新 更多