Wie überprüfe ich das Vorhandensein des einen oder anderen Feldes, aber nicht beider und mindestens eines?
ruby-on-rails
Ben Orozco
quelle
quelle
Ich denke, das ist in Rails 3+ idiomatischer:
zB: Um zu bestätigen, dass einer von
user_name
oderemail
vorhanden ist:quelle
Sie können dies sogar mit 3 oder mehr Werten tun:
quelle
Beispiel für Schienen 3.
quelle
#Vatername oder Mutter Nachname ist obligatorisch
Versuchen Sie es oben mit einem einfachen Beispiel.
quelle
Ich habe meine Antwort auf diese Frage unten gestellt. In diesem Beispiel
:description
und:keywords
sind Felder, von denen eines nicht leer ist:quelle
Validierung mit einem Proc oder Symbol mit: if und: es sei denn wird unmittelbar vor der Validierung aufgerufen.
Die Präsenz eines der beiden Felder kann also so aussehen:
Der (Beispiel-Snippet-) Code hat
:if
oder:unless
als neuestes Element, wird jedoch, wie in doc deklariert , unmittelbar vor der Validierung aufgerufen. Wenn die Bedingungen übereinstimmen, funktioniert danach eine weitere Überprüfung.quelle