如何在更新表单中添加删除链接?

dig*_*tie 9 forms ruby-on-rails ruby-on-rails-3

我有一个用于更新'Point'模型的远程表单.这是一个非常普通的表单,带有提交按钮.

但是,我还想在"更新"按钮旁边添加一个"删除"按钮.

不幸的是,这有一个问题.当我点击"更新"按钮时,它最终删除了条目 - 删除链接似乎劫持了更新表单.

编辑:我想我知道为什么更新按钮正在删除.当我将删除链接添加到表单时,它添加此输入:

<input name="_method" type="hidden" value="delete">
Run Code Online (Sandbox Code Playgroud)

无论我按哪个按钮,这个"_method"param都被拿起来了!

现在,我知道我可以将删除按钮放在表单元素之外,但在这种情况下,我不允许这样做.

我想删除按钮可能只是另一个更新提交按钮,但有一个额外的:remove_this参数.

然而,关于这一点的事情感觉不对.有任何想法吗?

小智 11

另一个不需要javascript的好奇解决方法是将删除表单放在更新表单之外,但在更新表单中留下<label for ="theSubmitButtonInTheDeleteForm" >.更新表单将继续按预期工作,但单击标签将提交删除表单.然后将标签设置为按钮.

  • 那是一个邪恶的天才!解决一个老问题的聪明方法 - 我想我会尝试这个问题. (3认同)

Coe*_*ulf 6

我建议使用链接而不是按钮,并将其设置为按钮样式:

link_to("Remove", resource_url, method: :delete, class: "delete_button")
Run Code Online (Sandbox Code Playgroud)

  • @阿诺德罗阿。将 `link_to` 与 `method: :delete` 一起使用会生成一个如下所示的链接:`&lt;a href="/url/goes/here" data-method="delete" rel="nofollow"&gt;删除它&lt;/a&gt; ` (2认同)