Ruby on rails 浏览器中的URL删除链接(而不是获取)

Ruby on rails 浏览器中的URL删除链接(而不是获取),ruby-on-rails,url,devise,get,routes,Ruby On Rails,Url,Devise,Get,Routes,我有一个Rails 4应用程序,我正在使用Desive。一切都设置正确,我只是有一个关于URL和链接的问题 我的设计模型被称为“客户”。当我导航到/clients/sign_out(即,我在地址栏中键入)时,会出现以下错误: No route matches [GET] "/clients/sign_out" 现在,我明白了为什么会出现这个错误——链接指向的是删除,而不是GET 显然,注销的一种方法是使用此链接: = link_to "Log Out", destroy_client_sess

我有一个Rails 4应用程序,我正在使用Desive。一切都设置正确,我只是有一个关于URL和链接的问题

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

No route matches [GET] "/clients/sign_out"
现在,我明白了为什么会出现这个错误——链接指向的是删除,而不是GET

显然,注销的一种方法是使用此链接:

= link_to "Log Out", destroy_client_session_path, method: :delete
(顺便说一句,那是哈姆)

但是,我正在寻找一个URL,以便在地址栏中键入,从而有效地进行删除,而不是GET调用。这更像是一个可能性问题,而不是一个实用性问题——我非常感谢对此事的任何见解


谢谢

无法在地址栏中输入URL并让其执行删除请求。如果您想通过访问url破坏会话,可以将
config/initializers/designe.rb
中的以下designe配置更改为:

config.sign_out_via = :get

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

感谢您的回复-您知道不能这样做的原因吗?这是一个安全问题吗?这正是浏览器的设计方式——在地址栏中键入的任何URI都将执行
GET
请求。您可以下载一些开发者附加组件/扩展,如果您希望这样做,它们将允许您发出
POST/PUT/DELETE/PATCH
请求。在Chrome上,你可以使用Postman-REST客户端,它工作得非常好。