Ermitteln Sie die Klasse, zu der eine Methode gehört

8
%Vor%

Ich möchte wissen, zu welcher Klasse oder zu welchem ​​Modul die "resources" -Methode gehört. Wenn ich in Ссылка nach der Methode "resources" suche (in der Suchtextbox), erscheint eine Liste von Klassen, die diese Methode haben Name "Ressourcen". Verwirrt, wenn man den Ursprung der Methode kennt.

Ist ihr beliebiger Befehl, den ich benutzen kann, um den Ursprung zu sehen.

Die Frage ist ein bisschen Anfängerlevel.

Danke

    
rajkamal 30.08.2011, 15:46
quelle

3 Antworten

2

Ruby ist eine objektorientierte Sprache. Und während Methoden keine Objekte in Ruby sind, können Sie Ruby bitten, Ihnen ein Method -Objekt zu geben, das die fragliche Methode repräsentiert, und dann können Sie einfach Method sagen, um Ihnen seinen Besitzer zu geben:

%Vor%     
Jörg W Mittag 30.08.2011, 17:16
quelle
6

Aufschlussreicher als die Suche nach resources sucht nach draw , da diese Methode etwas mit dem übergebenen Block tun muss.

Tatsächlich finden wir den Quellcode für draw , der anzeigt, dass der angegebene Block ausgeführt wird der Kontext eines Mapper , welches include s Resources ist, was (endlich!) definiert resources

    
Chowlett 30.08.2011 15:52
quelle
0

Nehmen Sie an, dass current_user eine Instanz der Klasse User ist. Sie können die Methodenfunktion aufrufen, um zu überprüfen, ob der Methodenname zur Klasse User gehört. Beispiel

%Vor%

Hoffe, das hilft dir!

    
Hoa Hoang 13.08.2014 02:16
quelle

Tags und Links