Ruby on rails 如何防止Rails再次选择相同的随机名称?
在我的Rails 4应用程序中,我有一个控制器动作,它生成了许多示例Ruby on rails 如何防止Rails再次选择相同的随机名称?,ruby-on-rails,ruby,Ruby On Rails,Ruby,在我的Rails 4应用程序中,我有一个控制器动作,它生成了许多示例项目,因此用户可以使用它: class ProjectsController < ApplicationController def generate_samples 100.times do p = current_user.projects.build( :name => random_name, :hourly_rate => r
项目
,因此用户
可以使用它:
class ProjectsController < ApplicationController
def generate_samples
100.times do
p = current_user.projects.build(
:name => random_name,
:hourly_rate => random_hourly_rate
p.save!
end
flash[:success] = "Sample projects created."
end
end
class ProjectsControllerrandom\u name,
:小时费率=>随机小时费率
p、 救命!
结束
flash[:success]=“已创建示例项目。”
结束
结束
由于my
Project
模型只接受具有唯一名称的新记录,因此如果在一个函数调用中两次拾取相同的random\u name
,则上述函数将中断。如何防止这种情况发生?请您的函数检查拾取的名称是否已经存在,然后重复,或者使用类似于UUID的方法,将ris两次拾取相同id的k几乎为0:
name: SecureRandom.uuid
在保存到数据库之前,将它们附加到数组中,检查名称是否已在数组中,如果为true,则获取新名称等等。您从何处获取随机名称?让方法
random\u name
按其说明执行。您没有提供此方法,因此不知道它是如何工作的。但它显然无法提供随机名称。它的名称可能不正确,也可能不正确不太好用。:)要想知道真名,请看伪造的宝石