96 votes

Où les validateurs personnalisés Rails 3 doivent-ils être stockés?

J'ai vu des documents / sites Web montrer que les validateurs personnalisés devraient figurer dans un répertoire /lib ou /lib/validators d'un projet. J'ai trouvé (en lisant une réponse à un autre message) qu'ils ne semblent fonctionner qu'en config/initializers . Est-ce que quelqu'un sait ou a un pointeur sur la documentation officielle qui montre où les validateurs personnalisés doivent vivre?

223voto

gbc Points 4019

Si vous placez vos validateurs personnalisés dans app/validators ils seront automatiquement chargés sans qu'il soit nécessaire de modifier votre fichier config/application.rb .

15voto

gunit888 Points 371

Si vous ajoutez ceci à votre fichier /config/application.rb:

 config.autoload_paths += %W["#{config.root}/lib/validators/"]
 

Ensuite, Rails chargera automatiquement vos validateurs au démarrage (exactement comme / config / initializers /), mais vous gardez la structure propre qui consiste à avoir vos validateurs dans un emplacement agréable et bien nommé.

6voto

Jakub Hampl Points 19161

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.

4voto

Shreyas Points 4871

Voici la documentation officielle sur les validations personnalisées. Pour autant que je sache, c’est une bonne pratique de les conserver dans les modèles pertinents.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X