设计没有路线匹配[GET]“/ users / sign_out”

时间:2013-06-19 02:49:37

标签: ruby-on-rails devise

我正在尝试使用Desive身份验证。

一切顺利到此为止(注册并登录)。

但我不能让退出链接工作。我用rake routes检查了目标链接; destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy

但是当我将<%= link_to "sign out", destroy_user_session_path %>放在主页上并点击链接时,我收到了此错误; No route matches [GET] "/users/sign_out"

顺便说一句,我目前正在运行Ruby-2.0.0-p195和Rails 3.2.13

2 个答案:

答案 0 :(得分:18)

使用方法DELETE

<%= link_to "sign out", destroy_user_session_path, method: :delete %>

答案 1 :(得分:6)

您需要传递“method:delete”作为DELETE请求发送。如果你没有设置“method:delete”,那么它将作为GET请求发送。

<%= link_to "Sign Out" ,destroy_user_session_path, method: :delete %>