J'utilise PaperTrail 4.1 avec Rails 4.2.Pourquoi les méthodes définies dans un initialiseur déclenchent-elles par intermittence une erreur 'non définie' qui est résolue en redémarrant le serveur?
J'ai défini plusieurs méthodes personnalisées dans un initialiseur (voir How to add a method to the versions model of Paper_trail?)
#config/initializers/paper_trail.rb
PaperTrail::Rails::Engine.eager_load!
module PaperTrail
class Version < ActiveRecord::Base
scope :scoped, lambda { #selects some records }
def custom_method
#does some stuff
end
end
end
si souvent dans chaque environnement de développement je reçois un method not defined error
pour les méthodes/champs définis dans le présent initialiseur.
Le redémarrage du serveur résout le problème. Pourquoi ces méthodes sont-elles «perdues» pour Rails?
Pourquoi?
Est-ce un problème qui se présentera également dans des environnements de production ou autres?
Quelles mesures puis-je prendre pour trouver la cause de ce problème?
Le code d'initialisation est exécuté une fois au démarrage du serveur, également dans l'environnement de développement. Lorsque le code est modifié, le redémarrage est requis. – Mareq
merci Mareq. Ce code d'initialisation n'est pas en cours de modification. Je travaille avec des contrôleurs et des vues. Souhaitez-vous toujours que ces rechargements soient nécessaires? –
Étrange. Il semble donc que le code soit rechargé et que votre contenu soit remplacé par du contenu original. – Mareq