estoy bastante nuevo en los carriles y que ahora se encontró con un problema que yo no era capaz de resolver con mi amigo Google :)Rieles: ¿cómo validar un campo solo si otro campo tiene un cierto valor?
En mi forma tengo a Seleccione con tres valores: de Apple, Banana y Cherry. Si elijo Apple del seleccionar Oculto otro Seleccionar- y un Campo de texto con algo de Javascript, porque cuando se elige Apple, no hay necesidad de rellenar estos otros dos campos más.
Así que ahora tengo un problema con la validación de mi formulario cuando se envía. He encontrado algunos problemas similares, por ejemplo en el caso de "Valide solo un campo si el otro está en blanco".
Este problema se resolvió así:
validates_presence_of :mobile_number, :unless => :home_phone?
así que he acaba de intentar el primero que me vino a la mente:
validates_presence_of :state, :granted_at, :if => :type != 1
Pero cuando corro, me sale este error :
undefined method `validate' for true:TrueClass
Así que ahora no he encontrado cómo puedo acceder a los valores del objeto que fue creado ... gracias de antemano por su ayuda y espero que mi pregunta no es tan obvia como parece :-)
agradecimiento usted para la respuesta rápida :) pero, ¿qué contiene esta variable de bloque "o"? el objeto que está siendo validado? – TehQuila
Sí, exactamente. También eche un vistazo a la respuesta de @ Hauleth donde puede encontrar otras formas de resolver su problema. La referencia definitiva se puede encontrar en la Documentación de la API de Rails: http://ar.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html esperamos que ayude. Además, sugiero que busques en Google "procs y bloques de ruby" para aprender sobre los bloques de construcción básicos (ruby) detrás de esto. Espero que ayude. – Matt