我正在使用我的ruby on rails分配,让用户输入他们的名字,中间名和姓氏。现在我想使用唯一性来验证它们中的每一个。当然,如果第一个,中间名和姓氏已经存在,则无法创建它。但是,如果第一个名称是数据库中唯一具有和现有匹配且中间名和姓名不同的名称,则应该创建它。另一个例子是,如果只有中间名在数据库中有一个现有的匹配,而另外两个是不同的。问题是如果我使用,验证:first_name,:middle_name,:last_name,uniqueness:true,它将不会覆盖上述条件。请帮帮我
答案 0 :(得分:1)
您正在寻找的是:scope
关键字
尝试
validates :first_name, uniqueness: { scope: [:last_name, :middle_name] }