Googleのログイン/登録を備えたFacebookアプリがあります。一部のアカウントはユーザー名を提供しないため、アプリケーションはオブジェクトをデータベースに保存する前にユーザー名を作成する必要があります。
現在、この方法で問題を解決しています。
user.username = "#{user.email[/^[^@]*/]}_#{user.id.to_s}"
問題は、mongodb/mongoid
likeを使用して、次database/odm
のように長すぎるユーザー名を生成することです。
hyperrjas_50ad43d11d41c86b27000066
この場合、user.id
afterを追加しましたhyperrjas
。
ユーザー名がすでに使用されている場合は、一意の番号ではなく一意の番号を追加しid
ます。たとえば、次のようになります。
hyperrjas
hyperrjas1
hyperrjas2
hyperrjas3
...
どうすればいいですか?