一意性のためのカスタムバリデーターを作成しようとしています。次の例は、何らかの理由で機能しません。
validates :language_id, uniqueness: { scope: :country_id}, if: :no_detail?
validates :language_id, uniqueness: { scope: [:country_id,:city_id, :province_id]}, if: :detail?
def no_detail?
if city_id.blank? && province_id.blank?
return true
else
return false
end
end
def detail?
return !no_detail?
end
新しいデータ エントリを作成するときに、language_id が重複しているというエラーが表示されます。