繁体   English   中英

Rails&Devise:destroy_user_session_path转到Users#Show?

[英]Rails & Devise: destroy_user_session_path going to Users#Show?

漂亮的标准链接:

<li><%= link_to 'Log Out', destroy_user_session_path(current_user) %></li>

耙路:

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

route.rb:

  devise_for :users, :controllers => { omniauth_callbacks: "users/omniauth_callbacks", sessions: "users/sessions" }

用户/sessions_controller.rb:

类Users :: SessionsController <Devise :: SessionsController

  def destroy
    binding.pry
    cookies.delete(:auth_token)
    flash[:notice] = "Successfully Logged Out"
    redirect_to new_session_path
  end

end

binding.pry甚至没有被调用。 该链接将我带到/users/sign_out网址,但视图为Users#show。

有任何想法吗?

如您的rake routes输出中所示,destroy操作需要DELETE HTTP动词。

您需要在链接帮助程序的末尾添加method: :delete ,否则链接将产生GET请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM