Пример того, о чем я говорю:
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 docs, и он предлагает использовать методы read_attribute
и write_attribute
. Я думал, что что-то не так с тем, что я делаю в приведенном выше примере; в противном случае, почему они благословляют эти методы как "правильный путь" для переопределения методов атрибутов? Они также вызывают гораздо более уродливую идиому, поэтому должна быть веская причина...
Мой реальный вопрос: что-то не так с этим примером?