[RAILS]: redirect_to 注册后的特殊路径

[RAILS]: redirect_to special path after sign-up

我在, 我开发了一个 rails 应用程序,但在注册后显示特殊路径时遇到问题。 我有一个属性 :status 用于我的用户,该属性已填写在我的注册表单中。如果选中此属性(true),我想显示 payout_method_path ,而它是 false 我想重定向到 root_path。 我有以下错误: AbstractController::DoubleRenderError 在 RegistrationsController#create

这是我的代码。 感谢您的帮助...:-)

class RegistrationsController < Devise::RegistrationsController

  def after_sign_up_path_for(resource)
if current_user.status?
    redirect_to payout_method_path
      flash[:notice] = "Your account is verified before being a seller"
else
    redirect_to root_path
end

结束

为了防止在设计中调用默认重定向,您需要在函数中添加一个 return 语句,如下所示:

 def after_sign_up_path_for(resource)
     if current_user.status?
         flash[:notice] = "Your account is verified before being a seller"
         redirect_to payout_method_path
     else
         redirect_to root_path
     end
     return
 end

此逻辑适用于您可以链接重定向的任何应用程序。

例如(错误的方式):

def my_function
     if true == true
         redirect_to different_path
     end
     redirect_to root_path
end

以上功能会失败。但是,在重定向(如下所示)之后添加 return 会导致函数停止并阻止其他重定向的执行。

示例(正确方式):

def my_function
     if true == true
         redirect_to different_path
         return
     end
     redirect_to root_path
end