Как правильно переопределить метод установки в Ruby on Rails?

Я использую Ruby on Rails 3.2.2 и хотел бы знать, является ли следующее "правильным"/"правильным"/"уверенным" " способ переопределить метод установки для атрибута моего класса.

attr_accessible :attribute_name

def attribute_name=(value)
 ... # Some custom operation.

  self[:attribute_name] = value
end

Приведенный выше код работает, как и ожидалось. Тем не менее Я хотел бы знать, возникнут ли проблемы в будущем при использовании вышеприведенного кода или, по крайней мере, какие проблемы "следует ожидать"/"могут произойти" с Ruby on Rails . Если это не правильный способ переопределить метод установки, то как правильно?


Примечание:Если я использую код

attr_accessible :attribute_name

def attribute_name=(value)
 ... # Some custom operation.

  self.attribute_name = value
end

, я получаю следующую ошибку:

SystemStackError (stack level too deep):
  actionpack (3.2.2) lib/action_dispatch/middleware/reloader.rb:70
172
задан Backo 5 May 2012 в 18:32
поделиться