调用HTTP删除方法,使用RoR

问题描述:

我试图实现来自用户的HTTP删除请求。所以,我在HTML文件中得到了这个,调用HTTP删除方法,使用RoR

<li><a href="/signout">Logout</a></li> 

但在我的路线文件我得到这个:如果我删除“通过

def destroy 
    sign_out 
    redirect_to root_path 
    end 

match '/signout', to: 'sessions#destroy', via: :delete 

和销毁被定义为:删除“似乎工作正常。但是,如何使用HTML调用DELETE方法?

如果你为jquery或[其他js库]使用不引人注意的rails插件,就很容易做到这一点。

<li><%= link_to "Logout", '/signout', method: :delete %></li> 

可以做出通过命名路线与as: :signout,让您使用signout_path作为URL帮手漂亮。

https://github.com/rails/jquery-ujs

请参阅Is it possible to trigger an HTTP DELETE request from an HTML form?

基本上你需要通过XMLHttpRequest来完成。

+0

http://ruby.railstutorial.org/,我下面这个教程,这就是为什么我想知道为什么你们选择了写“内经:删除” – 2012-03-16 17:05:59

+0

啊。我忽略了RoR部分,直接找到底层解决方案...... – Irfy 2012-03-16 17:16:30