从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请求。
喜欢 :
它与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执行此操作。