我有以下链接:
<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 和数据方法,以便它应该提交到销毁操作。但是它仍然以 POST 形式提交
这是为什么?我该如何解决这个问题,以便将其作为“删除”提交?
最佳答案
这是因为 Rails 使用不显眼的 javascript 来设置标签的行为,如 <a data-remote="xxx">
或<a data-method="xxx">
(事实上,Rails 在您的页面中创建了一个隐藏表单,单击链接时会提交该表单)。它是在页面加载时完成的 rails.js .
所以当你改变data-method
时链接的属性,它“太晚了”,它不会改变链接的行为(您应该为此更新隐藏表单)。您可以深入研究rails.js
代码来查找如何执行此操作,但我建议您在页面中创建 2 个链接(一个带有 data-method="post"
,一个带有 data-method="delete"
),并使用 CSS 仅隐藏/显示有用的链接。
关于jquery - 当我更改数据绑定(bind)后,为什么我的链接仍然以 Post 方式提交 ="delete"Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12352592/