<%= link_to("Edit",edit_product_path(product.ID)) %><%= link_to("Delete",product,:method => :delete) %>
生成的链接是:
<a href="/products/81/edit">Edit</a><a href="/products/81" data-method="delete" rel="nofollow">Delete</a>
单击“编辑”和“删除”时,将使用GET方法.
Rails如何决定使用哪种方法?
在删除链接中,data-method =“delete”和rel =“nofollow”是什么意思?
解决方法 浏览器通常支持GET和POST http方法.为了模拟PUT和DELETE谓词,Rails在提交表单时会注入一个特殊的_method参数.您可以通过传递:method选项指定要使用的方法,就像您一样.
<%= link_to("Action with DELETE",path_to_something,:method => :delete) %><%= link_to("Action with PUT",:method => :put) %>
除非指定,否则默认值为GET.
从Rails 3开始,Rails使用不引人注目的JavaScript来处理DELETE方法.它在data-method属性中传递http谓词,该属性为HTML 5 feature.
在您的情况下,它不起作用,因为您可能忘记包含JavaScript库(例如Prototype或jquery)和Rails适配器.
确保您使用的是jquery或Prototype,并且包含rails.Js JavaScript文件.
另外,不要忘记添加csrf_Meta_tag.
<%= csrf_Meta_tag %>
如果你想学习移动,几个月前我写了一篇关于Unobtrusive JavaScript in Rails 3的文章.
总结以上是内存溢出为你收集整理的ruby-on-rails – 当点击“link_to”生成的链接时,Rails 3如何决定使用哪个HTTP动词?全部内容,希望文章能够帮你解决ruby-on-rails – 当点击“link_to”生成的链接时,Rails 3如何决定使用哪个HTTP动词?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)