Wenn Sie eine sehr komplexe Validierung codieren müssen, liegt der Fehler manchmal nicht in einem bestimmten Attribut, sondern in einer Kombination aus mehreren.Ist es möglich, einem ActiveRecord-Objekt Fehler hinzuzufügen, ohne sie einem bestimmten Attribut zuzuordnen?
Zum Beispiel, wenn ich validieren möchte, dass der Zeitraum zwischen: start_date und: end_date keinen Sonntag enthält, gehört der Fehler nicht speziell zu einem dieser Felder, aber die Add-Methode für Fehler muss angegeben werden.
Perfekt, das ist genau das, was ich brauchte. Konnte es nicht in der Dokumentation finden –
Was ist: Basis in der Fehler-Hash? – holaSenor
Nun, normalerweise können Sie einem bestimmten Attribut einen Fehler hinzufügen. Wenn Sie zum Beispiel ein 'User'-Modell mit einem' age'-Attribut haben, möchten Sie möglicherweise einen Fehler für dieses Attribut hinzufügen, sodass Sie 'self.errors [: age] <<" schreiben können, das nicht kleiner als 0 sein kann "', die einen Fehler wie "Alter kann nicht weniger als 0 sein" machen. Wenn es sich jedoch nicht um ein bestimmtes Attribut handelt, können Sie es zur Basis hinzufügen, also zum Modell selbst. Also 'self.errors [: base] <<" Alles ist falsch! "' Macht die Fehlermeldung "Alles ist falsch!"; Es ist nicht mit einem bestimmten Attribut verbunden. – MrDanA