rails uniquenessで他のカラムを対象にする

railsでvalidates_uniqueness_ofを使ってユニークかどうかをチェックする。

この時に、他のカラムを対象にすることができまして。

たとえば、メールアドレス(email)というカラムとサブメールアドレス(sub_email)というカラムがあるとする。
sub_emailが他のemailと被ってほしくないときにはこう書く

  validates_uniqueness_of :sub_email, :scope => :email

こうすれば、sub_emailがemailに対してユニークではないときに、validationエラーとなる。

結構便利。

タイトルとURLをコピーしました