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