繁体   English   中英

Rails设计after_sign_up_path重定向

[英]Rails devise after_sign_up_path redirect

我的应用程序中有两个用于sign_in的模型。 我也没有生成任何我的控制器来进行设计,所有都是内置的。 我的ApplicationController是这样的:

  def after_sign_in_path_for(resource)
    case resource
      when User then request.referrer 
      when Admin::Admin then :admin_mainpage
    end
  end

  def after_sign_up_path_for(resource)
    root_path
  end

  def after_sign_out_path_for(resource_or_scope)
    request.referrer
  end

但是,当我尝试注册新用户时,devise也是sign_in用户,并且devise filter chain halted as require_no_authentication rendered or redirected ,我使devise devise filter chain halted as require_no_authentication rendered or redirected

但是该怎么办,如果我只是在系统中登录,我将被重定向到上一页,但是当我注册新用户时,我登录但会重定向到root_path?

我不知道这是一个很好的解决方案,但是请尝试以下操作:

  def after_sign_in_path_for(resource)
    case resource
      when User then 
        if request.referrer.to_s.include? "sign_up"
          root_path
        else
          request.referrer 
        end
      when Admin::Admin then :admin_mainpage
    end
  end

暂无
暂无

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

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