J'ai créé une application Rails qui exécute des fonctionnalités de comptabilité. Dans le cadre de cela, j'ai un modèle avec le nom de la classe Transaction
. Jusqu'ici tout va bien, j'ai construit cette fonctionnalité pour un mois ou deux, et tout fonctionne comme prévu.Résolution d'un conflit de nom de classe dans une application Rails
Jusqu'à présent ...
Je viens de découvrir certaines fonctionnalités de rapports plus qui a été développé il y a plusieurs mois en utilisant la bibliothèque Ruport a cessé de fonctionner. Il semble que Ruport, lors de la génération de fichiers PDF, nécessite une bibliothèque qui possède également un module/classe nommé Transaction
.
TypeError in Admin/team reportsController#generate
Transaction is not a module
...
This error occurred while loading the following files:
pdf/writer
transaction/simple
Donc, je suis à la recherche d'une solution rapide ici. Un qui n'implique pas de renommer mon modèle Transaction
et de refactoriser les dernières semaines de code.
Au plaisir de quelques suggestions intelligentes :)
Merci. J'ai changé votre réponse à la réponse acceptée car elle décrit plus précisément le problème spécifique que j'ai - bien que Yannis, la réponse est également correcte! Finalement, j'ai décidé de renommer mon modèle, ma table de base de données et toutes les associations en utilisant old-skool find et replace;) – aaronrussell
Dans la nouvelle version de Rails, 'set_table_name' est simplement' self.table_name = ', voir http://api.rubyonrails.org/classes/ActiveRecord/ModelSchema/ClassMethods.html#method-i-table_name-3D –