ruby-on-rails – 通过验证重新定位注册失败
发布时间:2020-12-17 02:49:54 所属栏目:百科 来源:网络整理
导读:我有一个简单的Devise注册表单和可验证的插件.它主要按预期工作,如果用户忘记输入名字,则会使用红色验证消息将其重定向回来. 问题是它重定向到用户去的成功登录的相同路径(即,它将它们重定向到/ user而不是返回到/ user / sign_up).如果用户因任何原因刷新页
我有一个简单的Devise注册表单和可验证的插件.它主要按预期工作,如果用户忘记输入名字,则会使用红色验证消息将其重定向回来.
问题是它重定向到用户去的成功登录的相同路径(即,它将它们重定向到/ user而不是返回到/ user / sign_up).如果用户因任何原因刷新页面,则会得到No route匹配[GET]“/ user”错误. 如何在注册失败时强制重定向返回到原始/ user / sign_up路由?我知道我可以在注册控制器中破解创建操作,但是当我重定向到正确的路由时,我会丢失设计验证消息. 更新 似乎问题是Devise处理respond_with Rails 4 How Overwrite Devise Respond Path Upon Error的方式.看起来Devise试图在/ user处渲染一个创建模板,但我仍然无法覆盖它. 解决方法
首先,您可以使用以下命令创建设计控制器 –
rails generate devise:controllers users 然后你必须修改你的路线设计 # config/routes.rb Rails.application.routes.draw do devise_for :users,:skip => [:registrations] devise_scope :user do get "user/sign_up",to: "users/registrations#new",as: :new_user_registration post "user/sign_up",to: "users/registrations#create",as: :user_registration end end 希望它的工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |