从Sinatra发送DELETE请求

我正在尝试开发RESTful Sinatra应用程序。现在,我知道如何用类似的方式响应删除请求
delete '/user/:id' do |id|
   #do something in the model
end
我感兴趣的是如何执行该方法。我不能拥有DELETE而不是GET的链接,是吗? 到目前为止我找到的唯一解决方案是通过jQuery发送DELETE请求:如何在jQuery中发送PUT / DELETE请求? 我尝试在github上查看不同的RESTful Sinatra项目,但我的Ruby知识可能仅限于了解它们是如何做到的。     
已邀请:
在代码中添加以下行。
use Rack::MethodOverride
它将帮助您使用参数“
_method
”解释post方法,其值为“
delete
”。  然后你就可以写了
delete '/user/:id' do |id|
    
我认为这就像Rails的方式。您需要使用'delete'值定义params'_method'并将其添加到表单上。 当您使用此特定参数对表单进行POST时,您将在sinatra中执行DELETE请求。 喜欢 :
<form action="/search" method="post">
  <div style="margin:0;padding:0">
    <input name="_method" type="hidden" value="delete" />
  </div>
</form>
它与PUT方法相同     
另一种方法是使用Curl:
curl -X DELETE http://host/user/1
    
  %form{:action => "/note/delete/#{@note.id}", :method => "post"}
    %input{:type => 'submit', :name=> "_method", :value => 'delete', :class => 'button'}
您也可以使用类似按钮触发删除路线     
另请参阅使用jQuery调用Sinatra删除路由,了解如何使用前端的jQuery和JSON以及后端的Sinatra执行此操作。     

要回复问题请先登录注册