Un esempio di ciò di cui sto parlando:
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
Questo sembra funzionare, ma ho appena letto la sezione sulla sostituzione dei metodi di attributo nei documenti ActiveRecord :: Base e mi suggerisce di usare i metodi read_attribute
e write_attribute
. Ho pensato che ci fosse qualcosa di sbagliato in ciò che sto facendo nell'esempio sopra; altrimenti, perché dovrebbero benedire questi metodi come il "modo giusto" per sovrascrivere i metodi di attributo? Stanno anche forzando un linguaggio molto più brutto, quindi ci deve essere una buona ragione ...
La mia vera domanda: c'è qualcosa di sbagliato in questo esempio?