У меня есть существующий проект Rails (Rails 2.3.8), и я получил следующую модель со следующим атрибутом:
class School < ActiveRecord::Base
def name
read_attribute(:name).nil? ? 'default name' : self.name
end
end
Я догадался, что оригинальный автор пытается вернуть значение по умолчанию для имени как default name
в этом коде.Но проблема в том, что мой код пытается получить доступ к атрибуту имени:
school = School.find(1)
school.name
, и я получаю эту ошибку:
stack level too deep
Я думаю, это потому, что он вызывает метод именирекурсивно.Может кто-нибудь направить меня в обход этого.Поскольку у этого было много авторов, я не уверен, где они использовали вышеупомянутый метод.И у системы также нет никакого испытательного костюма.Может кто-нибудь, пожалуйста, помогите мне?