フォーマットに基づいて一意のユーザー名を生成するにはどうすればよいですか? たとえば、最初のユーザーがサインアップします。彼のユーザー名は AAA001 です。2 番目のユーザーがサインアップすると、ユーザー名は AAA002 になり、このように増加し続けます。2 人のユーザーが同時に [サインアップ] をクリックしても、データベースがそれぞれに一意のユーザー名を送信するように設定するにはどうすればよいですか。これは RoR で行う予定です。
前もって感謝します
フォーマットに基づいて一意のユーザー名を生成するにはどうすればよいですか? たとえば、最初のユーザーがサインアップします。彼のユーザー名は AAA001 です。2 番目のユーザーがサインアップすると、ユーザー名は AAA002 になり、このように増加し続けます。2 人のユーザーが同時に [サインアップ] をクリックしても、データベースがそれぞれに一意のユーザー名を送信するように設定するにはどうすればよいですか。これは RoR で行う予定です。
前もって感謝します
モデルのafter_safeフックでユーザー名を生成して保存できます!トランザクションで再度(競合状態を防ぐため)、すでに保存されているユーザーのDB-IDを使用してユーザー名を生成します
データベース トランザクションを使用する必要があります。
次に例を示します。
ActiveRecord::Base.transaction do
#code goes here
end
これにより、トランザクション内のコードがブロックされていることが保証されます。