Ruby on rails 设计创建重复用户名的错误消息

Ruby on rails 设计创建重复用户名的错误消息,ruby-on-rails,devise,Ruby On Rails,Devise,我将rails 5.2与Desive一起使用。我在数据库中为Desive用户添加了一个唯一的用户名字段。 尝试使用重复用户名注册时,我的数据库出现ActiveRecord::RecordNotUnique错误。我想有一个错误消息,就像Deviate默认的电子邮件一样。谢谢 编辑完整错误消息: PG::UniqueViolation:错误:重复的键值违反唯一性 约束“索引用户”详细信息:键 (用户名)=(超级测试)已存在:插入“用户” (“电子邮件”、“加密密码”、“创建时间”、“更新时间”, “

我将rails 5.2与Desive一起使用。我在数据库中为Desive用户添加了一个唯一的用户名字段。 尝试使用重复用户名注册时,我的数据库出现ActiveRecord::RecordNotUnique错误。我想有一个错误消息,就像Deviate默认的电子邮件一样。谢谢

编辑完整错误消息:

PG::UniqueViolation:错误:重复的键值违反唯一性 约束“索引用户”详细信息:键 (用户名)=(超级测试)已存在:插入“用户” (“电子邮件”、“加密密码”、“创建时间”、“更新时间”, “用户名”)值($1、$2、$3、$4、$5)返回“id”

您需要对您的模型进行以下操作:

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
         :confirmable, :recoverable, :validatable # ...
  validates_uniqueness_of :username
end
class用户
验证可防止低级别的
ActiveRecord::RecordNotUnique
异常,因为如果验证失败,Rails不会尝试写入db。

您需要:

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
         :confirmable, :recoverable, :validatable # ...
  validates_uniqueness_of :username
end
class用户
验证可防止低级别的
ActiveRecord::RecordNotUnique
异常,因为如果验证失败,Rails不会尝试写入db