0

有没有办法编写将注销并重定向到自定义页面的 Rails 方法?我正在使用设计身份验证 gem。

我不希望在所有注销之后都进行此重定向,但仅在调用此方法的地方。

4

1 回答 1

7

这取决于您重定向到一个地方或另一个地方的条件,但这是我在应用程序中所做的,根据我的用户角色进行不同的重定向:

将此作为私有方法添加到您的ApplicationController中:

  private 

  def after_sign_out_path_for(resource_or_scope)
    # If it's admin 
     if is_admin?(current_user)
        admin_path
    # Otherwise
     else
        root_path
     end
  end

基本上,您需要在after_sign_out_path中找到需要应用的条件,并根据该条件返回路径。请注意,您会得到一个带有作用域的符号,因此您可以使用它来选择返回的重定向路径。

于 2012-06-28T19:08:56.217 回答