:: Basenteil Bedeutung in ActiveRecord :: Base

8

Was bedeutet :: Basisteil in Person & lt; ActiveRecord :: Basisklasse-Deklaration? Ich bin neu in Ruby und von dem, was ich bisher gesammelt habe, Person & lt; ActiveRecord sollte verwendet werden. Danke.

    
Valentin 01.12.2008, 12:22
quelle

3 Antworten

8

:: Base ist eine Klasse im Modul ActiveRecord. Eines der Dinge, die Module tun, ist Namespacing in Ruby bereitzustellen. In Ruby erben Sie nicht von einem Modul, aber Sie können es mit der Include-Anweisung mischen.

Darf ich vorschlagen, das Spitzhacken-Buch aufzuheben oder Why's (Poignant) Guide to Ruby .

    
Mike Breen 01.12.2008, 12:42
quelle
6

in Ruby, :: greift auf statische Klassen- oder Modulkonstanten zu. ActiveRecord::Base gibt an, dass die ActiveRecord -Klasse oder das Modul eine statische innere Klasse namens Base aufweist, die Sie erweitern.

Bearbeiten: wie Mike darauf hinweist, in diesem Fall ist ActiveRecord ein Modul ...

    
Dan Vinton 01.12.2008 12:41
quelle
4

:: ist ein unärer Operator, mit dem Sie auf eine Konstante, ein Modul oder eine Klasse zugreifen können, die in einer anderen Klasse oder einem anderen Modul definiert sind. Es wird verwendet, um Namespaces bereitzustellen, sodass Methoden- und Klassennamen nicht von anderen Autoren mit anderen Klassen in Konflikt geraten.

Wenn Sie ActiveRecord :: Base in Rails sehen, bedeutet das, dass in Rails ActiveRecord::Base so etwas wie

ist %Vor%

Dies bedeutet, dass eine Klasse namens Base innerhalb eines Moduls ActiveRecord ist, auf die dann als ActiveRecord::Base

verwiesen wird

Zum besseren Verständnis von :: operator, gehen Sie durch dieses Beispiel von tutorialspoint.com :

%Vor%     
FaaduBaalak 25.08.2016 06:14
quelle

Tags und Links