Anular métodos de atributos de ActiveRecord
Un ejemplo de lo que estoy hablando:
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
Esto parece funcionar, pero acabo de leer la sección sobre la anulación de los métodos de atributo enActiveRecord :: Documentos base, y sugiere usar elread_attribute
ywrite_attribute
métodos Pensé que debe haber algo mal con lo que estoy haciendo en el ejemplo anterior; de lo contrario, ¿por qué bendecirían estos métodos como la "forma correcta" de anular los métodos de atributos? También están forzando un idioma mucho más feo, por lo que debe haber una buena razón ...
Mi verdadera pregunta: ¿Hay algo mal con este ejemplo?