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>

questionAnswers(5)

yourAnswerToTheQuestion