8

ログイン用の電子メールに加えて、ユーザー名を使用するためのDeviseの指示に従いました。重複したユーザー名でサインアップできる場合を除いて、うまく機能します。誰かが重複した電子メールアドレスでサインアップしようとすると、サインアップページに次のエラーメッセージが表示されます。

1つのエラーにより、このユーザーの保存が禁止されました。

Email has already been taken

ユーザー名に非常によく似たものが必要です。これを実装するにはどうすればよいですか?

4

2 に答える 2

11

一意性バリデーターを使用する必要があります。以下をuser.rbに追加します。

validates_uniqueness_of :username

このバリデーターの詳細

于 2012-10-02T07:36:04.457 に答える
3

ユーザー名を一意にする必要がありますが、大文字と小文字を区別しないため、ユーザー名とユーザー名の両方で終わることはありません。

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

Devisewikiから。

于 2020-05-27T03:14:46.853 に答える