IMO l'héritage est à utiliser avec beaucoup de modération en Ruby. La tendance serait plutôt d'aller vers le style fonctionnel que l'OO tel que C++, Java, C# et autres nous y ont habitués.
Pour ma part j'évite le STI Rails comme la peste et il m'est rarissime d'hériter d'autre chose que ActiveRecord::Base ou ApplicationController. My 2ç :-) 2014-09-19 14:31 GMT+02:00 Tim <[email protected]>: > Merci pour le lien > > Donc en Ruby, les méthodes privées peuvent être appelées par les enfant > sans "effort". > > Y a que moi qui trouve ça très moche ? > > > Le vendredi 19 septembre 2014 14:13:18 UTC+2, Tim a écrit : > >> Salut à tous >> >> Je viens de tomber sur quelque chose qui perturbe totalement mon >> intuition de dev : >> >> apparemment une méthode déclarée comme privée est accessible par son >> enfant dans le controller : voici mon code réel : >> >> Rails 4.1.5 (fonctionne aussi sur 3.2.19), Ruby 2.1.2 >> >> class ApplicationController < ActionController::Base >> protect_from_forgery with: :exception >> >> private >> >> def method_privee >> p "method_privee accessible" >> end >> end >> >> >> class PhrasesController < ApplicationController >> def index >> method_privee # affiche "method prive accessible" >> end >> end >> >> Ce code (je viens de le lancer plusieurs fois) fonctionne lorsque l'on va >> sur /phrases/index et ne fais pas "raise error, NoMethodError" mais affiche >> bien "method_privee accessible" >> >> Quelqu'un peut m'expliquer ? merci >> >> Ciao. >> > -- > -- > 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] > --- > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes > "Railsfrance". > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > concernant, envoyez un e-mail à l'adresse > [email protected]. > Pour obtenir davantage d'options, consultez la page > https://groups.google.com/d/optout. > -- -- 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] --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, visitez le site https://groups.google.com/d/optout .
