Un exemple de ce dont je parle:
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
Cela semble fonctionner, mais je viens de lire la section sur le remplacement des méthodes d'attributs dans la documentation ActiveRecord :: Base , et cela suggère d'utiliser les méthodes read_attribute
et write_attribute
. Je pensais qu'il devait y avoir quelque chose de mal avec ce que je fais dans l'exemple ci-dessus; sinon, pourquoi béniraient-ils ces méthodes comme la «bonne façon» de remplacer les méthodes attributaires? Ils forcent également un langage beaucoup plus laid, donc il doit y avoir une bonne raison ...
Ma vraie question: y a-t-il quelque chose qui ne va pas avec cet exemple?