私のアプリでは、すでにDevise
ログインシステムに結びついているfirst_name
フィールドからusername
列を自動的に入力しようとしています。理論的には、その名前の唯一の人はuser
のfirst_name
でなければなりませんが、その最初の名前を持つusers
がすでに存在する場合は、 "Mal 4th"または "Jayne the 3rd"のようになります。Rails with Devise:一意のユーザー名をファーストネームから設定する
はこれまでのところ、SO(this 1のような)記事をグーグルやその他のコンサルティングに私は私のregistrations_controller
に、この基本構造を持っている:
before_create :set_username
private
def set_username
@users = User.where(first_name == self.first_name)
same_first_name_array = []
@users.each do |u|
same_first_name_array << u.first_name
end
if same_first_name_array.size = 0
self.username = first_name
else
self.username = first_name + " the " + ordinalize(same_first_name_array.size + 1)
end
end
しかし、私は空白を埋めるのに苦労しています。これまでのところ、最良の方法は、first_name
が一意であるかどうかをチェックするif文を実行することです。は、count
のようなものではありませんが、より優れた "Ruby"方法。これを動作させる助けがあれば歓迎されます!
は、なぜオープンソース-IOS @ –
あるオープンソース-IOS @クライアントがそのように要求されたユーザ名に、代わりにspecifiyingのランダムな文字列を追加していけない、私はへの可能な解決策を追加しましたOP。あなたはそれが新しい情報を与えられてそれを動作させる方法を考えることができますか? – Liz
...あなたは、ユーザーの数は、それが – Liz