Приклад того, про що я говорю:
class Person < ActiveRecord::Base
def name=(name)
super(name.capitalize)
end
def name
super().downcase # not sure why you'd do this; this is just an example
end
end
Це, здається, працює, але я щойно прочитав розділ про переважаючі методи атрибутів у документах ActiveRecord :: Base , і він пропонує використовувати read_attribute
і write_attribute
методи. Я подумав, що має бути щось не так у тому, що я роблю у наведеному вище прикладі; в іншому випадку, чому б вони благословляли ці методи як "правильний шлях" для перекриття атрибутивних методів? Вони також змушують набагато потворнішу ідіому, тому має бути вагома причина ...
Моє справжнє запитання: чи не в цьому прикладі щось не так?