![]() |
obligar a que tres campos de formulario sumen 10. quiero obligar a que tres campos numericos de un registro sumen 10. me parece q el lugar correcto para poner el codigo seria en el modelo, algo como validates_uniqueness_of o una definicion dentro del metodo. IRIA DENTRO DEL METODO? donde encuentro ejemplos de cosas asi, pues necesito muchas restriciones del tipo: si el padre es rubio y la madre es rubia el hijo no puede ser moreno. y cosas asi. ME GUSTARIA ENCONTRAR EJEMPLOS para asi poder diseñar mejor. |
Puedes crear un método validate para esto, en tu modelo.rb: Código: def validate |
muchas gracias ya lo entiendo. en este caso tendria q ir creando la bateria de tests no? o es una tonteria para cositas tan triviales? |
Mejor empezar escribiendo tests triviales, así tendrás experiencia cuando quieras escribir los complejos :) |
q pereza me hace lo de los test, pero tendre q empezar. dos preguntitas al tema de las definiciones en los metodos por ejemplo en el metodo q me enseñas: def validate unless campo1+campo2 == 10 errors.add("campo1", "Deben sumar 10") errors.add("campo2", "Deben sumar 10") end end 1.- en caso de error los campos resaltados son los dos, pero el mensaje aparece repetido, mire la documentacion del errors.add para sacar un solo texto, pero no encontre nada 2.- Parte del mensaje aparece en ingles, que fichero tendria q edipar para q apareciese en castellano? |
1.- sí, claro. Eso es opción mía. Si los dos campos deben sumar 10, entiendo que habría que marcar los dos como erróneos, y que el usuario lo corrija. El mensaje lógicamente lo puede uno poner a su gusto. 2.- Echale un vistazo a esto http://www.sobrerailes.com/articles/...ku-on-rails-v6 Puede que a estas alturas este post de mi blog haya quedado un poco obsoleto, pero la idea básicamente es esa. |
| La zona horaria es GMT -6. Ahora son las 10:56. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.