C'est moche si tu considère private au sens du C++ et Java. Ce n'est pas le même qu'en Ruby :
Je cite cette page qui t'éclaireras : http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Classes *More info about the difference between C++ and Ruby private/protected: http://lylejohnson.name/blog/?p=5 <http://lylejohnson.name/blog/?p=5>* *One person summed up the distinctions by saying that in C++, “private” means “private to this class”, while in Ruby it means “private to this instance”. What this means, in C++ from code in class A, you can access any private method for any other object of type A. In Ruby, you can not: you can only access private methods for your instance of object, and not for any other object instance (of class A).* *Ruby folks keep saying "private means you cannot specify the receiver".* 2014-09-19 14:31 GMT+02:00 Tim <itsumo.sibyl...@gmail.com>: > 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 > railsfrance@googlegroups.com > Pour résilier votre abonnement envoyez un e-mail à l'adresse > railsfrance-unsubscr...@googlegroups.com > --- > 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 > railsfrance+unsubscr...@googlegroups.com. > Pour obtenir davantage d'options, consultez la page > https://groups.google.com/d/optout. > -- Jean-Hadrien Chabran -- -- 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 railsfrance@googlegroups.com Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscr...@googlegroups.com --- 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 railsfrance+unsubscr...@googlegroups.com. Pour plus d'options, visitez le site https://groups.google.com/d/optout .