注销时使用devise在未初始化的常量UsersController中进行注销

时间:2018-12-22 06:33:53

标签: ruby-on-rails devise

我无法使用Devise退出生产。在开发中,一切正常。我认为删除不适用于Devise。我知道在devise.rb中将config.sign_out_via = :delete更改为:get的解决方法,但是在阅读本文介绍的漏洞时,我不想这样做。另外,当我尝试在开发中对users / 30 / clients / 23执行删除操作时,它可以正常工作,但在生产中,我会看到一条错误消息

  

找不到ClientsController的动作“显示”

因此,我认为这与删除方法有关,仅用于注册,也可以在生产中正常工作。

我该如何进行?

1 个答案:

答案 0 :(得分:0)

link_to将生成GET请求,button_to将生成POST请求-两者都需要不同的路由并执行不同的操作。您的链接将转到:

  • 显示带有GET请求的操作(提供ID)
  • 使用POST请求创建操作
  • 具有POST请求并将隐藏的_method参数值设置为DELETE的销毁操作-这是因为现代浏览器不支持delete方法(HTML5也不支持-有关here的更多信息)

您可以强制link_to使用POST方法:

<%= link_to "Your link", your_path, method: :post %>