Ich muss die Eindeutigkeit von zwei Feldern in einem Objekt (einer Zeile) überprüfen, bevor ich sie hinzufüge. Employee_id und area_id sind die beiden Felder in meiner Tabelle emp_area. Es kann mehrere Datensätze mit derselben employee_id und mehrere Datensätze mit derselben area_id geben, aber keine zwei Datensätze können dieselbe employee_id und dieselbe area_id haben. Dies ähnelt zwei Feldern, aus denen ein Primärschlüssel oder ein eindeutiger Schlüssel besteht.
Wie kann ich das machen.
Vielen Dank
ruby-on-rails
Johnc
quelle
quelle
Antworten:
Was ist mit dieser Lösung ? Validieren Sie kombinierte Werte
validates :employee_id, uniqueness: { scope: :area_id }
quelle
validates_uniqueness_of
da Sie damit mehrere Validierungen auf demselben Formular festlegen können, zpresence: true
.validates_uniqueness_of :employee_id, :scope => :area_id
quelle