def name
"sir" + read_attribute(:name)
end
Но избегайте этой практики. Вместо этого используйте дополнительный метод получения / установки, также известный как «виртуальный атрибут».
Для получения дополнительной информации прочитайте этот ответ: украшение атрибута в рельсах
В вашем случае есть и странный побочный эффект. Каждый раз, когда к атрибуту обращаются, он добавляет имя. После 3 звонков вы получаете
"sir sir sir name"
Действительно, вы можете сделать
def name
n = read_attribute(:name)
if /^sir/.match(name)
n
else
"sir #{n}"
end
end
но, серьезно, не делайте этого.