J'ai vu des documents / sites Web montrer que les validateurs personnalisés devraient aller dans un répertoire /lib
ou /lib/validators
d'un projet. J'ai trouvé (en lisant une réponse à un autre article) qu'ils semblent seulement fonctionner config/initializers
. Est-ce que quelqu'un sait ou a un pointeur vers la documentation officielle qui montre où les validateurs personnalisés devraient vivre?
ruby-on-rails
validation
customvalidator
Daniel D
la source
la source
Réponses:
Si vous placez vos validateurs personnalisés,
app/validators
ils seront automatiquement chargés sans avoir besoin de modifier votreconfig/application.rb
fichier.la source
spring stop
était nécessaire pour moi dans Rails 5.2, sinon il n'a pas été repris.Si vous ajoutez ceci à votre fichier /config/application.rb:
Ensuite, Rails chargera automatiquement vos validateurs au démarrage (tout comme / config / initializers /), mais vous gardez la structure propre d'avoir vos validateurs dans un endroit agréable et bien nommé.
la source
config.autoload_paths += %W(#{config.root}/lib/validators/)
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.la source
Voici la documentation officielle sur les validations personnalisées. AFAIK est une bonne pratique pour les garder dans les modèles pertinents.
la source