Ich möchte eine Methode zu einem Rails-Modell hinzufügen, die beim Testen verwendet werden soll. Wenn ich dies tunRuby/Rails: Reopening vs Überschreiben einer Klasse
class Model
def something_new
do_something
end
end
in der Rails-Konsole oder in einer Datei zur Laufzeit geladen, Modell eher überschrieben als modifiziert. Wenn ich etwas wie v = Model.class
vor die obigen Zeilen setze, wird die neue Methode erfolgreich zu der bestehenden Klasse hinzugefügt. Offensichtlich wird die Referenz benötigt, um anzuzeigen, dass eine existierende Klasse wieder geöffnet wird.
Auf der anderen Seite kann man zB Fixnum eine Methode hinzufügen, ohne dass man sich zuerst darauf beziehen muss. Was passiert hier und wie kann man dafür sorgen, dass eine bestehende Klasse wieder geöffnet und verändert wird, anstatt sie zu überschreiben?
Danke.
Danke, das war das Problem. Als ich sah, dass Model-Klasse bereits erkannt wurde, war mir nicht bewusst, dass es nur "automatisch" erkannt wurde. –