Jaki jest właściwy sposób nadpisania metody ustawiającej w Ruby on Rails?
Używam Ruby na Rails 3.2.2 i chciałbym wiedzieć, czy poniżej znajduje się „właściwy” / „poprawny” / „pewny” sposób nadpisania metody ustawiającej dla mojego atrybutu klasy.
<code>attr_accessible :attribute_name def attribute_name=(value) ... # Some custom operation. self[:attribute_name] = value end </code>
Powyższy kod wydaje się działać zgodnie z oczekiwaniami. Jednak,Chciałbym wiedzieć, czy korzystając z powyższego kodu, w przyszłości będę miał problemy, a przynajmniej jakie problemy „powinienem się spodziewać” / „może się zdarzyć” w Ruby on Rails. Jeśli to nie jest właściwy sposób na zastąpienie metody ustawiającej, jaki jest właściwy sposób?
Uwaga: Jeśli korzystam z kodu
<code>attr_accessible :attribute_name def attribute_name=(value) ... # Some custom operation. self.attribute_name = value end </code>
Otrzymuję następujący błąd:
<code>SystemStackError (stack level too deep): actionpack (3.2.2) lib/action_dispatch/middleware/reloader.rb:70 </code>