Ein Beispiel für das, wovon ich spreche:
class Person < ActiveRecord::Base
def name=(name)
super(name.capitalize)
end
def name
super().downcase # not sure why you'd do this; this is just an example
end
end
Dies scheint zu funktionieren, aber ich habe gerade den Abschnitt über das Überschreiben von Attributmethoden in den ActiveRecord :: Base-Dokumenten gelesen und es wird vorgeschlagen, das read_attribute
und zu verwendenwrite_attribute
Methoden verwenden. Ich dachte, dass etwas mit dem, was ich im obigen Beispiel mache, nicht stimmt. Warum sollten sie diese Methoden andernfalls als "richtigen Weg" zum Überschreiben von Attributmethoden segnen? Sie erzwingen auch eine viel hässlichere Sprache, also muss es einen guten Grund geben ...
Meine eigentliche Frage: Stimmt etwas mit diesem Beispiel nicht?