2

我的应用程序控制器中有这个:

rescue_from CanCan::AccessDenied do |exception|
  redirect_to destroy_user_session_path, :method => :delete, :alert => exception.message
end

一旦他们尝试打开他们无法访问的资源,我想注销用户。但是,没有使用“删除”方法,我明白了

No route matches [GET] "/authenticate/users/sign_out"

如何注销用户并显示登录表单(new_user_session)?

顺便说一句,正常的注销链接可以完美运行。

<%= link_to "Logout: #{current_user.name}", destroy_user_session_path, :method => :delete %>

高手

4

1 回答 1

2

怎么样?:

rescue_from CanCan::AccessDenied do |exception|
  sign_out :user if user_signed_in?
  redirect_to new_user_session_path, alert: exception.message
end

但恕我直言,这不是可预期的行为。

于 2012-05-28T14:37:02.380 回答