0

フォーマットに基づいて一意のユーザー名を生成するにはどうすればよいですか? たとえば、最初のユーザーがサインアップします。彼のユーザー名は AAA001 です。2 番目のユーザーがサインアップすると、ユーザー名は AAA002 になり、このように増加し続けます。2 人のユーザーが同時に [サインアップ] をクリックしても、データベースがそれぞれに一意のユーザー名を送信するように設定するにはどうすればよいですか。これは RoR で行う予定です。

前もって感謝します

4

2 に答える 2

0

モデルのafter_safeフックでユーザー名を生成して保存できます!トランザクションで再度(競合状態を防ぐため)、すでに保存されているユーザーのDB-IDを使用してユーザー名を生成します

于 2012-09-16T21:37:10.090 に答える
0

データベース トランザクションを使用する必要があります。

次に例を示します。

ActiveRecord::Base.transaction do
  #code goes here
end

これにより、トランザクション内のコードがブロックされていることが保証されます。

于 2012-09-16T21:39:12.617 に答える