我正在使用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