1

我有以下链接:

<a href="/kits?resource_id=536" class="authorize spin" data-method="post" data-remote="true" id="use_it_link_171" rel="nofollow">

创建套件后,我将链接更改如下:

<a href="/kits/536" class="authorize spin" data-method="delete" data-remote="true" id="use_it_link_171" rel="nofollow">

我更改了 href 和 data-method 以便它应该提交到销毁操作。但是它仍然以 POST 的形式提交

为什么会这样,我该如何解决这个问题,以便将其提交为“删除”?

4

1 回答 1

4

这是因为 Rails 使用不显眼的 javascript 来设置像<a data-remote="xxx">or这样的标签的行为<a data-method="xxx">(事实上,Rails 在您的页面中创建了一个隐藏的表单,当点击链接时提交该表单)。它由rails.js在页面加载时完成。

因此,当您更改data-method链接的属性时,“为时已晚”,它不会更改链接的行为(您应该为此更新隐藏表单)。您可以深入rails.js研究代码以找到如何执行此操作,但我建议您在页面中创建 2 个链接(一个带有data-method="post",一个带有data-method="delete"),并使用 CSS 仅隐藏/显示有用的链接。

于 2012-09-10T15:18:23.450 回答