Ich verwende Ruby on Rails 3.2.2 und möchte wissen, ob das Folgende eine "richtige" / "richtige" / "sichere" Methode ist, um eine Setter-Methode für ein my class-Attribut zu überschreiben.
attr_accessible :attribute_name
def attribute_name=(value)
... # Some custom operation.
self[:attribute_name] = value
end
Der obige Code scheint wie erwartet zu funktionieren. Aber ich möchte , wenn, wissen , durch den obigen Code verwendet wird , in Zukunft werde ich Probleme hat , oder zumindest, welche Probleme „soll ich erwarten“ / mit Ruby „könnte passieren“ on Rails . Wenn dies nicht der richtige Weg ist, eine Setter-Methode zu überschreiben, was ist der richtige Weg?
Hinweis : Wenn ich den Code verwende
attr_accessible :attribute_name
def attribute_name=(value)
... # Some custom operation.
self.attribute_name = value
end
Ich erhalte folgende Fehlermeldung:
SystemStackError (stack level too deep):
actionpack (3.2.2) lib/action_dispatch/middleware/reloader.rb:70