URL浏览器中的DELETE链接(而不是GET)

时间:2014-11-26 23:39:08

标签: ruby-on-rails url devise get routes

我有一个Rails 4应用程序,我正在使用Devise。一切都设置正确,我只是对URL和链接有疑问。

我的设计模型被称为“客户”。当我导航到/ clients / sign_out(即我在地址栏中输入)时,我收到以下错误:

No route matches [GET] "/clients/sign_out"

现在,我理解为什么我收到此错误 - 链接是DELETE,而不是GET。

显然,退出的一种方法是使用此链接:

= link_to "Log Out", destroy_client_session_path, method: :delete

(即haml,btw)。

但是,我正在寻找一个URL来输入地址栏,这将有效地进行DELETE,而不是GET调用。这更像是一个可能性问题,而不是一个实用性问题 - 我很欣赏任何有关此问题的见解!

谢谢!

1 个答案:

答案 0 :(得分:1)

无法在地址栏中输入URL并让它执行DELETE请求。如果您想通过访问网址销毁会话,可以将config/initializers/devise.rb中的以下设计配置更改为以下

config.sign_out_via = :get

请注意,此方法不是RESTful,因为POST和更改状态时应使用DELETE