Substituir métodos de atributo ActiveRecord
Um exemplo do que estou falando:
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
Isso parece funcionar, mas acabei de ler a seção sobre substituição de métodos de atributo noDocumentos ActiveRecord :: Basee sugere usar oread_attribute
ewrite_attribute
métodos. Eu pensei que deveria haver algo errado com o que estou fazendo no exemplo acima; caso contrário, por que eles abençoariam esses métodos como o "caminho certo" para substituir os métodos de atributo? Eles também estão forçando uma linguagem muito mais feia, então deve haver uma boa razão ...
Minha verdadeira pergunta: há algo de errado com este exemplo?