5

Girişler için Devise's instructions for using usernames in addition to emails'u takip ettim. Kişilerin çift kullanıcı adlarıyla kaydolabilmesi dışında harika çalışır. kaydedilmesini Bu kullanıcıyı yasakRails için Devise'de benzersiz kullanıcı adları

1 hata:

Email has already been taken 

İstediğim bir şey birisi bir yinelenen e-posta adresinizle kaydolun çalışırsa, onlar kayıt sayfasındaki bu hata mesajıyla sunulmaktadır kullanıcı adları için çok benzer. Bunu nasıl uygularım?

cevap

6

Teklik doğrulayıcısını kullanmalısınız. user.rb aşağıdaki ekleyin:

validates_uniqueness_of :username 

more about this validator

+0

Mükemmel, hata mesajı öyle olacağını ümit ediyorum tam olarak ne: "Kullanıcı adı zaten alınmış". –

+0

Kullanıcı adınızı değiştirdiğinizde bunun işe yaramayacağını düşünüyorum ve daha sonra değiştirmek istediğinizde, yani profilinizi düzenlemek istediğinizde. Örneğin, kullanıcı adınızı abc'den abc1'ye değiştirmek isterseniz işe yarayacaktır, ancak abc'ye geri dönmek ve güncelleme düğmesine basmak istiyorsanız, 'Kullanıcı adı zaten alındı' hatasını alacaksınız – idjuradj

+0

@ Nicholas Kodunda iki model oluşturduğuna inanıyorum ya da başka bir sorun var. –