cattr_accessor in Rails?
Im Lesen des Rails guides für Rails 3 und verwenden Sie diese Methode:
cattr_accessor :attribute
Was ist diese Methode? Es ist eine Rails-Methode? Ich habe noch nie gesehen es vor.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist eine rails-Sache. Im Grunde wie die attr_* Methoden, aber für die Klasse Ebene. Eine Sache, die Sie nicht erwarten würde ist, weil es verwendet eine backing @@ variable, die den Wert geteilt zwischen der Klasse und allen Instanzen.
class_attribute
ist in der Regel eine bessere LösungFür diejenigen, die stolpern über diese Frage gibt es auch eine neue Möglichkeit, dies zu tun in Rails 3, das funktioniert für Unterklassen:
Einen guten blog-post dazu hier.
Definiert Klassen und Instanzen, Zugriffsmethoden für die Attribute der Klasse
Wenn eine Unterklasse, ändert sich der Wert dann wäre das auch ändern Sie den Wert für die übergeordnete Klasse. Ebenso, wenn Eltern der Klasse, ändert sich der Wert dann ändern Sie den Wert von Unterklassen zu.
aber für Rails 4+ verwenden Sie eine ähnliche Methode, mattr_accessor, als cattr_accessor ist veraltet Schienen 4
Diese ist veraltet und in den letzten Rails-Version.
http://apidock.com/rails/Class/cattr_accessor