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