在我的Rails 4应用程序中,我有这个控制器操作,可以生成一些样本projects
,以便user
可以使用它:
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
由于我的Project
模型只接受具有唯一名称的新记录,因此如果在一个函数调用中两次选择相同的random_name
,则上述函数会中断。如何防止这种情况?
答案 0 :(得分:-1)
要么你的功能检查选择的名字是否已经存在,并重复,或使用类似UUID的东西,其中两次相同id的风险几乎为0:
name: SecureRandom.uuid