ruby-on-rails – 当点击“link_to”生成的链接时,Rails 3如何决定使用哪个HTTP动词?

ruby-on-rails – 当点击“link_to”生成的链接时,Rails 3如何决定使用哪个HTTP动词?,第1张

概述我有两个链接: <%= 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="del 我有两个链接:

<%= 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动词?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1288618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存