2012-02-13 12 views
6

He visto bastantes subprocesos acerca de dónde es el mejor lugar para poner sus clases de validación personalizadas (extendiendo ActiveModel :: EachValidator), pero no puedo determinar cuál es la mejor práctica. Algunos hilos y tutoriales dicen ponerlos en 'lib /' y modificar '/config/application.rb', otros hilos dicen que si los pones en 'app/validators' se incluirán automáticamente ... ¿Alguna idea sobre esto? ¿Cuál es la mejor práctica para esto?Rails 3: ¿Dónde está el mejor lugar para colocar clases personalizadas de validador?

La solución 'libs /' tiene un inconveniente porque tiene que modificar '/config/application.rb', pero por lo que yo entiendo, colocarlo en 'app/validators' lo incluirá, aunque tiene que agrega un directorio a la carpeta de la aplicación. ¿Es esto correcto? ¡Gracias!

Respuesta

4

Sí, cuando coloca su validador personalizado en "aplicación/validadores", se incluirá automáticamente. Cuando se utiliza el directorio "lib" o "lib/validadores", que tendrá que colocar esta línea en el archivo de configuración/application.rb:

config.autoload_paths += %W(#{config.root}/lib) 

o

config.autoload_paths += %W(#{config.root}/lib/validators) 
Cuestiones relacionadas