0

如何根据格式生成唯一的用户名。例如,第一个用户注册。他的用户名是 AAA001,第二个用户注册的用户名是 AAA002,并且它一直这样递增。我该如何设置它,即使两个用户同时单击注册,数据库也只会向他们每个人发送一个唯一的用户名。这将在 RoR 上完成。

先感谢您

4

2 回答 2

0

您需要使用数据库事务。

这是一个例子:

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

这将确保事务内的代码是阻塞的。

于 2012-09-16T21:39:12.617 回答
0

您可以在模型的 after_safe 钩子中生成用户名并保存!再次在事务中(以防止竞争条件)并使用已保存用户的 DB-ID 生成用户名

于 2012-09-16T21:37:10.090 回答