2009/6/29 Laurent Declercq <[email protected]> > > Bonjour ; > > Personne ne sais me répondre ? > > Sinon, j'aimerais aussi savoir à quoi correspond la directive de > configuration suivante : > > config.cache_classes = false > > J'avoue que je ne comprend pas bien le terme de cache. Il est stipulé : > > [quote] > # In the development environment your application's code is reloaded on > # every request. This slows down response time but is perfect for > development > # since you don't have to restart the webserver when you make code > changes. > [/quote] > > Soit, si je traduit correctement : > > Dans un environnement de développement, le code de votre application est > rechargé à chaque requête. La réponse est plus lente mais c'est parfait > pour le développement depuis que vous n'avez plus besoin de redémarrer > le serveur Web quand vous opérez des modifications dans le code. > > Ce que je ne comprend pas, c'est la notion de cache. Ou sont conservée > les données ? S'agit t'il d'une compilation du code source ? d'objets > sérialisé ? Bref, je comprends pas et malheureusement, je ne trouve pas > de doc la dessus. > > Chaque fichier est simplement lu et interprété. Les classes ainsi définies sont stockées sous forme compilées au sein de l'interpreteur ruby. Normalement et en production, Rails charge à la demande les fichiers (si un bout de code référence la classe Toto, il va charger le fichier toto.rb, mais pas avant). Une fois ce chargement fait, la version interprétée de cette classe reste en mémoire dans le process ruby qui tourne.
Par contre, en dev, les routes sont recalculées et l'ensemble des classes filles de ActiveRecord::Base sont reloadées : cela implique de retirer les variables d'instances et de supprimer les méthodes d'instance. Les 2 seront alors ré-interprétées si un bout de code y fait référence. -- http://fabien.jakimowicz.com --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] -~----------~----~----~----~------~----~------~--~---
