2009-10-27 8 views
72

Ho bisogno di convalidare l'unicità di due campi in un oggetto (riga) prima di aggiungerli. Employee_id e area_id sono i due campi nella mia emp_area table. Possono esserci più record con lo stesso employee_id e più record con lo stesso area_id, ma non ci sono due record che possono avere lo stesso employee_id e lo stesso area_id. Questo è un po 'come due campi che compongono una chiave primaria o una chiave univoca.Come convalidare due campi per l'univocità

Come posso fare questo.

Grazie

+0

che è stato grazie! – johnc

+0

possibile duplicato di [Come si convalida l'unicità di una coppia di ID in Ruby on Rails?] (Http://stackoverflow.com/questions/923796/how-do-you-validate-uniqueness-of-a-pair- di-ids-in-ruby-on-rails) –

risposta

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

che dire di questa soluzione Validate combined values

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

Questo sembra essere preferito su 'validates_uniqueness_of' in quanto consente di impostare più convalide sullo stesso modulo, ad es. 'presenza: vera'. –

+0

Per la corretta evidenziazione dei messaggi di errore che ho creato anche valida: area_id, unicità: {scope: employee_id} – Mauro

Problemi correlati