我是 RoR 的新手。使用 validates_uniqueness_of 时遇到问题。我有一个包含 3 列的表:
name || father_name || dob
Vimal Raj || Selvam || 1985-08-30
我的模型中有这样的代码:
class Candidate < ActiveRecord::Base
attr_accessible :dob, :father_name, :name
validates_uniqueness_of :name, scope: [:father_name, :dob], case_sensitive: false,
message: ": %{value} already present in the database!!!"
before_save :capitalize_name, :capitalize_father_name
private
def capitalize_name
self.name.capitalize!
end
def capitalize_father_name
self.father_name.capitalize!
end
end
当我插入 => "vimal raj, Selvam, 1985-08-30" 但它正在接受以下数据 => "Vimal Raj, selvam, 1985-08-30" 时,它会按预期抛出错误。我期待它会抛出一个错误,但出乎意料的是它接受了记录并作为新记录插入到数据库中。
请帮助我解决这个问题。