Devise for Rails中的唯一用户名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Devise for Rails中的唯一用户名相关的知识,希望对你有一定的参考价值。

我跟随Devise's instructions for using usernames in addition to emails登录。除了人们可以使用重复的用户名进行注册之外,它的效果很好。如果有人尝试使用重复的电子邮件地址进行注册,则会在注册页面上向他们显示此错误消息:

1个错误禁止该用户被保存:

Email has already been taken

我希望用户名非常相似。我该如何实施?

答案

您应该使用唯一性验证器。将以下内容添加到user.rb:

validates_uniqueness_of :username

more about this validator

另一答案

请注意,您可能希望使用户名唯一,但也不区分大小写,因此不会同时使用用户名和用户名:

class User < ApplicationRecord
  validates :username, presence: true, uniqueness: { case_sensitive: false }
  # Rest of user model
end

Devise wiki开始。

以上是关于Devise for Rails中的唯一用户名的主要内容,如果未能解决你的问题,请参考以下文章

rails动作控制器中未定义的方法“devise_for”

如何配置 Devise for Ruby on Rails 以将电子邮件和密码存储在用户模型之外的其他位置?

每次使用 Rails 3 中的 Devise 登录时,如何检查用户帐户?

如何在 rails (4.1.5) 中创建固定装置(对于 Devise 用户)作为 yml.erb?

同一 rails 资源的多个 devise_for 路线

Rails/Devise 会话中的warden 数据由啥组成?