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 en los documentos ActiveRecord :: Base , y sugiere usar los métodos read_attribute
y write_attribute
. 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?