ruby-on-rails - 使用:method => delete in button_to?的目的是什么

标签 ruby-on-rails ruby url-routing web-development-server

据我了解,HTML 不支持 HTTP 动词“DELETE”,因此在创建删除表单时需要不同的路由。

如果是这样,为什么这段代码可以正常工作,

<%=button_to 'Delete', {:controller => :users, :action => 'destroy', :id => user.id}, :method => :delete%>

但是,下面的代码不起作用

<%=button_to 'Delete', {:controller => :users, :action => 'destroy', :id => user.id}%>

它给出了错误: '没有路由匹配 [POST] "users/1/"'

解析的 url 不应该是 users/destroy/1 吗?

最佳答案

听起来您不需要代码答案,因为您已经有了一个可用的版本。 Rails 在幕后做了很多事情,所以除非你去检查它,否则很难知道浏览器到底发生了什么。

DELETE 可能无法作为 HTML 中的属性使用 <form>标记,但它仍然是一个有效的 HTTP 请求。

Are the PUT, DELETE, HEAD, etc methods available in most web browsers?

What is the usefulness of PUT and DELETE HTTP request methods?

关于ruby-on-rails - 使用:method => delete in button_to?的目的是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52910079/

相关文章:

ruby-on-rails - Rails 模型名称与包含的 gem 冲突

ruby-on-rails - 从 Dropbox 帐户提供图像时页面加载速度太慢

javascript - 是否可以自动打开视频模式并仅在用户通过电子邮件中的链接访问页面时才开始播放?

ruby-on-rails - 使用 grouped_options_for_select 设置默认值,使用 f.select

Ruby 无法加载此类文件 --ftools(加载错误)

ruby - 为什么在这里的数组定义中使用了 splat?

ruby-on-rails - 使用 Rails gem 代替供应商/rails 有什么好处?

c# - .aspx 中的 URL 路由

javascript - Ember 无法正确配置路由

ruby-on-rails - rails 控制台要求 nokogiri 返回 false(但在 irb 中工作)