Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在rails中生成唯一的用户名_Ruby On Rails_Database - Fatal编程技术网

Ruby on rails 在rails中生成唯一的用户名

Ruby on rails 在rails中生成唯一的用户名,ruby-on-rails,database,Ruby On Rails,Database,如何根据格式生成唯一的用户名。例如,第一个用户注册。他的用户名是AAA001,第二个用户注册的用户名是AAA002,并且它一直这样递增。我如何设置它,以便即使两个用户同时单击“注册”,数据库也会向每个用户发送一个唯一的用户名。这将在RoR上完成 提前感谢您您可以在模型的after_安全挂钩中生成用户名并保存!再次在事务中(防止竞争条件),并使用已保存用户的DB-ID生成用户名您需要使用数据库事务 以下是一个例子: ActiveRecord::Base.transaction do #code

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


提前感谢您

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

您需要使用数据库事务

以下是一个例子:

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

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

顺便说一句,最后一个用户名将是ZZ999(我写这篇文章只是为了演示,以显示字母也在增加。)所以我应该再次保存用户,并应用新用户名?你怎么知道我可以从上一个用户开始增加的方法?所以这将在模型中?如何检索用户名并将其显示给用户