2

Dans Rails, je peux créer des modèles globaux (accessibles n'importe où dans l'application). Cependant, j'aimerais créer des constructions globales, mais qui ne correspondent à aucune table de base de données (c'est pourquoi elles ne peuvent pas être des modèles) et ne seront jamais instanciées (j'ai donc besoin de modules au lieu de classes) . J'ai essayé d'utiliser le répertoire des initialiseurs, ce qui fonctionne, mais c'est agaçant car cela nécessite de redémarrer mon serveur chaque fois que je change une valeur (alors que je peux changer le code dans mes modèles sans redémarrer le serveur). Quelle est la meilleure façon de créer des modules accessibles de manière globale de cette manière?Comment créer des modules accessibles globalement dans Rails?

Répondre

5

Il suffit de mettre dans lib sous-répertoire et ajouter à votre config/application.rb:

config.autoload_paths += ["#{config.root}/lib"] 
1

En plus d'ajouter des modules dans le répertoire lib (qui est approprié), vous pouvez aussi mettre des classes dans le répertoire des modèles . Ils ne doivent pas être basés sur ActiveRecord.

Questions connexes