J'ai vu des documents/sites Web montrer que les validateurs personnalisés devraient aller dans un /lib
ou /lib/validators
répertoire d'un projet. J'ai trouvé (en lisant une réponse à un autre post) qu'ils ne semblent fonctionner que dans config/initializers
. Quelqu'un sait-il ou a-t-il un pointeur sur la documentation officielle qui montre où les validateurs personnalisés doivent vivre?
Si vous placez vos validateurs personnalisés dans app/validators
ils seront automatiquement chargés sans avoir à modifier votre config/application.rb
fichier.
Si vous ajoutez ceci à votre fichier /config/application.rb:
config.autoload_paths += %W["#{config.root}/lib/validators/"]
Alors Rails chargera automatiquement vos validateurs au démarrage (tout comme/config/initializers /), mais vous gardez la structure propre d'avoir vos valideurs dans un seul endroit bien nommé).
lib/validators
semble de loin le plus propre. Cependant, vous devrez peut-être les charger avant vos modèles, donc probablement à partir d'un initialiseur.
Voici les documents officiels sur les validations personnalisées. L'AFAIK est une bonne pratique pour les conserver dans les modèles pertinents.