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