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" 。エラーが発生することを期待していましたが、予期せずレコードを受け入れ、データベースに新しいレコードとして挿入します。
これを解決する方法を教えてください。