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

destroy_user_session DELETE   /users/logout(.:format)                                             devise/sessions#destroy

路由错误

没有路线匹配 [GET] "/users/logout"

  devise_for :users, path_names: {sign_in: "login", sign_out: "logout"},
             controllers: {omniauth_callbacks: "omniauth_callbacks"}
4

1 回答 1

1

您的 link_to 标记包含:method => :delete应有的内容,但您的错误消息表明该请求是使用 GET 方法发出的。这不起作用,因为该路由仅适用于 DELETE 请求。

您是否单击“退出”链接并立即收到错误消息?我希望你的回答是否定的。您更有可能尝试直接在浏览器中访问 /users/logout,而不使用链接。这将使它成为 GET 请求而不是 DELETE。

于 2013-08-08T21:08:11.067 回答