【问题标题】:Ruby on Rails: Signing out of devise, routing error, needs to submit twiceRuby on Rails:退出设计,路由错误,需要提交两次
【发布时间】:2013-06-30 16:36:12
【问题描述】:

我设置了一个注销按钮,但它会将我带到链接,但不会让我退出。我显示了

Routing Error

No route matches [DELETE] "/signout"
Try running rake routes for more information on available routes.

我有这个

<%= link_to "Logout", destroy_user_session_path, method: :delete %>

在我的 rake 路由中

 destroy_user_session GET    /signout(.:format)       devise/sessions#destroy

在我的 routes.rb 中

devise_for :user, :controllers => { :registrations => "registrations" }, :skip => [:registrations, :sessions] do 
  get 'signout' => 'devise/sessions#destroy', :as => :destroy_user_session
end

所以注销应该只带我到localhost:3000/signout 它确实如此,但这就是我得到路由错误的地方。但是,当我第二次输入 URL 时,它在路由错误页面中,它最终将我注销。为什么第一次就不行了?

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 devise ruby-on-rails-3.2


    【解决方案1】:

    您明确告诉您的链接(正确)使用 DELETE 方法,但您的路线与该方法不匹配。变化:

    get 'signout' => 'devise/sessions#destroy', :as => :destroy_user_session
    

    收件人:

    delete 'signout' => 'devise/sessions#destroy', :as => :destroy_user_session
    

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多