轨道设计 - 可确认的错误?设计问题



我正在使用Rails 4.0.2和Devise 3.2.2来处理用户注册/身份验证。我已启用:confirmable

当我转到root时,有注册字段,注册后,而不是重定向到我设置的页面,它停留在同一页面上,并显示以下错误消息,也没有发送确认电子邮件。

2 errors prohibited this user from being saved:
Email has already been taken
Username has already been taken

当我转到 Rails console ,键入该用户在那里创建的User.all

看起来 Devise 在注册两次时正在创建用户。我不确定 Devise 是否存在错误,或者这是我的一部分。请帮忙。

谢谢!

以下是我的代码:

registrations_controller.rb

class RegistrationsController < Devise::RegistrationsController
  def update
  protected

  def after_inactive_sign_up_path_for(resource)
     'pages/success'
 end
end

用户.rb

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  #:lockable, :timeoutable and :omniauthable

  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable, :confirmable
  validates :username, :uniqueness => {:case_sensitive => false}
end

您的'pages/success'缺少斜杠。

registrations_controller.rb:

class RegistrationsController < Devise::RegistrationsController
  def update
  protected

  def after_inactive_sign_up_path_for(resource)
     'pages/success'   # should be '/pages/success'
 end
end

最新更新