jquery - 当我更改数据绑定(bind)后,为什么我的链接仍然以 Post 方式提交 ="delete"Rails

标签 jquery routes ruby-on-rails-3.2

我有以下链接:

<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/

相关文章:

jquery - 滚动时修复导航菜单

javascript - 我的 tablesorter 中的列排序覆盖了我的表头中的 checkall 复选框

Node.js 路由无法识别正确的 JSON

ruby - 将两个散列与键和值进行比较 - Ruby

ruby-on-rails - Ruby on Rails 3 : Trying to render a view from a different controller. 但我得到了同一个 Controller

ruby-on-rails - strip_tags 助手,标签/标签,除了 ruby​​ on rails 3

jquery - 更多更少的 Coffeescript 示例

jquery - 向下滑动和向上滑动切换

php - 如何使用 Slim 框架设置不区分大小写的路由?

ruby-on-rails - 为产品 rails 成员路线添加删除选项