无法为设计创建两个CustomFailure重定向行为,一个用户另一个用于admin_user

abh*_*sra 2 ruby-on-rails devise activeadmin

我在我的rails应用程序中使用active_admin.以前,我曾经在设计登录失败时渲染自定义页面.现在的问题是,如果active_admin登录失败,也会呈现相同的自定义页面.

我坚持这个问题并且在我的开发过程中放弃了放弃active_admin.请帮忙.

我的CustomFailure定义在这里:

class CustomFailure < Devise::FailureApp
  def redirect_url 
    signin_path
  end

  def respond
    if http_auth? 
      http_auth
    else
      redirect
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何修改代码以使用户登录的重定向路径失败并且admin_user登录失败.我的管理员用户登录路径是:admin_user_session_path

Dev*_*v R 5

你必须使用范围来解决这个问题: -

class CustomFailure < Devise::FailureApp 
  def redirect_url 
    if warden_options[:scope] == :user 
      signin_path 
    else 
      new_admin_user_session_path 
    end 
  end 
  def respond 
    if http_auth? 
      http_auth 
    else 
      redirect 
    end 
  end 
end 
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助 :)