我可以使用Sinatra的POST请求模拟PUT或DELETE请求吗?

时间:2011-11-28 15:14:37

标签: html ruby http rest sinatra

某些Web浏览器无法发出PUT或DELETE请求,但我需要使用Sinatra将这些内容用于使用Ruby编写的REST服务。是否有可能使Sinatra将POST请求解释为PUT或DELETE请求?

2 个答案:

答案 0 :(得分:8)

请阅读the document并找到method_override的说明。该机制与Rails相同。如果您的浏览器不支持PUT& DELETE,只需发送一个名为_method的额外参数,其值为PUTDELETE

请注意,在 Modular 应用程序中(您的类继承Sinatra::Base),默认情况下会禁用method_override。您需要手动启用它。

答案 1 :(得分:3)

所有当前的Web浏览器都支持XMLHttpRequest中的PUT和DELETE。另外,据我所知,没有浏览器支持HTML表单,主要是因为它还没有明确说明他们做了什么。