【问题标题】:rails- devise - can't log outrails-设计-无法注销
【发布时间】:2012-04-14 21:43:53
【问题描述】:

我无法测试我的登录...因为我无法注销(还没有把注销按钮放在那里)。 我可以测试一次,但现在我“卡住”了!

我怎么不能用
http://localhost:3000/account/sign_out

我收到一个错误No route matches [GET] "/account/sign_out"

但是rake routes 给了我:

         ...
         new_standard_user_session GET    /account/sign_in(.:format)                                      devise/sessions#new
             standard_user_session POST   /account/sign_in(.:format)                                      devise/sessions#create
     destroy_standard_user_session DELETE /account/sign_out(.:format)                                     devise/sessions#destroy    new_standard_user_registration GET    /account/sign_up(.:format)                                      devise/registrations#new
             ...

我的/account/sign_in/account_sign_up 网址都可以

【问题讨论】:

    标签: ruby-on-rails devise routes


    【解决方案1】:
    No route matches [GET] "/account/sign_out"
    

    您尝试通过 GET 方法访问该链接,但您的路线已删除,正如您发布的那样。

    destroy_standard_user_session DELETE /account/sign_out(.:format) 
    

    所以,要实现这一点,请使用 link_to 中的 method 参数(我假设您正在使用 link_to 创建链接)

    类似的东西

    link_to "Sign Out", destroy_standard_user_session_path, :method => :delete
    

    最好的问候

    【讨论】:

    • 是的,就是这样,添加了带有 :delete 的链接修复了它。谢谢。
    猜你喜欢
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    相关资源
    最近更新 更多