Я використовую 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