最佳答案
我使用Ruby on Rails 3.2.2,我想知道以下是一个“正确的”/“正确的”/“确定的”方法来覆盖我的类属性的setter方法。
attr_accessible :attribute_name
def attribute_name=(value)
... # Some custom operation.
self[:attribute_name] = value
end
上面的代码似乎可以正常工作。然而,我想知道,通过使用上面的代码,将来我是否会遇到问题,或者,至少,在Ruby on Rails中“我应该期望”/“可能发生”什么问题。如果这不是重写setter方法的正确方法,那么什么是正确的方法呢?
请注意:如果我使用代码
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