在rails中生成唯一的用户名

时间:2012-09-16 21:20:21

标签: ruby-on-rails database

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

提前谢谢

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您需要使用数据库事务。

以下是一个例子:

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

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