2009-10-27 16 views
72

Ich muss die Eindeutigkeit von zwei Feldern in einem Objekt (Zeile) überprüfen, bevor ich sie hinzufüge. Employee_id und area_id sind die zwei Felder in meiner Tabelle emp_area. Es kann mehrere Datensätze mit derselben employee_id und mehreren Datensätzen mit derselben area_id geben, aber keine zwei Datensätze können dieselbe employee_id und dieselbe area_id haben. Dies ist eine Art von zwei Feldern, die einen Primärschlüssel oder einen eindeutigen Schlüssel bilden.Wie validiere ich zwei Felder für die Eindeutigkeit

Wie kann ich das tun?

Dank

+0

, dass es Ihnen war danken! – johnc

+0

mögliches Duplikat von [Wie validiert man die Eindeutigkeit eines Paares von IDs in Ruby on Rails?] (Http://stackoverflow.com/questions/923796/how-do-you-validate-uniqueness-of-a-pair- von -ids-in-ruby-on-rails) –

Antwort

69
validates_uniqueness_of :employee_id, :scope => :area_id 
96

was über diese Lösung Validate combined values

validates :employee_id, uniqueness: { scope: :area_id } 
+3

Dies scheint gegenüber 'validates_uniqueness_of' vorzuziehen, da es Ihnen ermöglicht, mehrere Validierungen auf demselben Formular zu setzen, z "Präsenz: wahr". –

+0

Für die korrekte Hervorhebung der Fehlermeldungen habe ich auch validiert: Area_ID, Eindeutigkeit: {scope: employee_id} – Mauro

Verwandte Themen