默认情况下,设计身份验证注册新建和创建网址是不同的

时间:2014-04-28 17:24:40

标签: ruby-on-rails devise

我有以下路线:

cancel_user_registration GET    /signup/cancel(.:format) devise/registrations#cancel
       user_registration POST   /signup(.:format)        devise/registrations#create
   new_user_registration GET    /signup/signup(.:format) devise/registrations#new
  edit_user_registration GET    /signup/edit(.:format)   devise/registrations#edit
                         PATCH  /signup(.:format)        devise/registrations#update
                         PUT    /signup(.:format)        devise/registrations#update
                         DELETE /signup(.:format)        devise/registrations#destroy

我在route.rb文件中使用了自定义路由:

devise_for :users, path: '', path_names: { sign_in: 'login', sign_out: 'logout', registration: 'signup', sign_up: 'signup'}

上述路线的问题是,如果我提交的注册表单包含空字段(URL is localhost:3000/signup/signup),则该网页会重定向到location:3000/register。这里显示错误消息。如果在表单中发现错误,如何重定向同一页面?

更新路线:

cancel_user_registration GET    /cancel(.:format)        devise/registrations#cancel
       user_registration POST   /                        devise/registrations#create
   new_user_registration GET    /signup(.:format)        devise/registrations#new
  edit_user_registration GET    /edit(.:format)          devise/registrations#edit
                         PATCH  /                        devise/registrations#update
                         PUT    /                        devise/registrations#update
                         DELETE /                        devise/registrations#destroy

1 个答案:

答案 0 :(得分:0)

如果你试试这个怎么办?

     devise_for  :users,
                  :path => 'secure',
                  :path_names => {
                      :sign_in => 'login',
                      :sign_out => 'logout',
                      :sign_up => 'signup'
                  }
      resources :users

我不确定您是否可以为注册命名并注册相同的名称