Я использую 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