【问题标题】:devise No route matches [GET] "/users/sign_out"设计没有路线匹配 [GET] "/users/sign_out"
【发布时间】:2013-06-15 10:48:27
【问题描述】:

我正在尝试使用 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

【问题讨论】:

    标签: ruby-on-rails devise


    【解决方案1】:

    使用DELETE方法

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-27
        • 2014-01-29
        • 2017-08-03
        • 1970-01-01
        • 2015-12-09
        • 2014-07-05
        相关资源
        最近更新 更多