我在那里, 我开发了Rails应用,注册后显示特殊路径时遇到问题。 我的用户具有属性:status,该属性填写在我的注册表单中。如果选中此属性(true),则我想显示payout_method_path,但是如果我想重定向到root_path,则为false。 我有以下错误: RegistrationsController#create
中的AbstractController :: DoubleRenderError这是我的代码。 寻求帮助...:-)
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
答案 0 :(得分:0)
要防止在devise中调用默认重定向,您将需要在函数中添加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
以上功能将失败。但是,在重定向之后添加一个返回值(如下所示)将导致该函数暂停并阻止其他重定向的执行。
示例(正确的方法):
def my_function
if true == true
redirect_to different_path
return
end
redirect_to root_path
end