我一直在寻找有关如何在注册失败后编辑注册路径的文档。
我的网站索引页面上有我的注册表单。在注册失败时,它会重定向到 new_user_registration_path 而不是用户所在的根目录。我该如何更新这个?
我一直在寻找有关如何在注册失败后编辑注册路径的文档。
我的网站索引页面上有我的注册表单。在注册失败时,它会重定向到 new_user_registration_path 而不是用户所在的根目录。我该如何更新这个?
我已经能够通过使用 customfailure 应用程序为注册表单实现这一点
class CustomFailure < Devise::FailureApp
def redirect_url
if warden_options[:scope] == :user
new_user_registration_path
else
new_user_registration_path
end
end
def respond
if http_auth?
http_auth
else
redirect
end
end
def redirect
store_location!
flash[:alert] = i18n_message unless flash[:notice]
redirect_to '/'
end
end
当然,类似的选项是可能的,不需要覆盖设计注册控制器?
您可以从此处复制设计注册控制器
您应该能够添加如下内容:
if resource.save
#handle this
else
#handle this
redirect_to new_user_registration_path
end
然后在您的路线中:
devise_for :users, :controllers => {:registrations => 'registrations'}
我不确定如何在不覆盖控制器的情况下执行此操作