¿Cómo valido la presencia de un campo u otro pero no ambos y al menos uno?
ruby-on-rails
Ben Orozco
fuente
fuente
Creo que esto es más idiomático en Rails 3+:
por ejemplo: para validar que uno de
user_name
oemail
está presente:fuente
Incluso puede hacer esto con 3 o más valores:
fuente
Ejemplo para rieles 3.
fuente
# El apellido del padre o el apellido de la madre es obligatorio
Pruebe el ejemplo simple anterior.
fuente
Pongo mi respuesta a esta pregunta a continuación. En este ejemplo
:description
y:keywords
son campos que no deben estar en blanco:fuente
Validación mediante un proceso o símbolo con: si y: a menos se llamará justo antes de que ocurra la validación.
Entonces, la presencia de uno de ambos campos puede ser así:
El código (fragmento de ejemplo) tiene
:if
o:unless
como último elemento, sin embargo, como se declara en el documento , se llamará justo antes de que ocurra la validación, por lo que otra verificación funcionará después, si la condición coincide.fuente