Contoh dari apa yang saya bicarakan:
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
Ini tampaknya berhasil, tetapi saya baru saja membaca bagian tentang mengganti metode atribut dalam ActiveRecord :: Base docs , dan itu menyarankan menggunakanread_attribute
write_attribute
metode dan . Saya pikir pasti ada yang salah dengan apa yang saya lakukan dalam contoh di atas; jika tidak, mengapa mereka memberkati metode ini sebagai "cara yang benar" untuk mengganti metode atribut? Mereka juga memaksakan idiom yang lebih buruk, jadi pasti ada alasan bagus ...
Pertanyaan saya yang sebenarnya: Apakah ada yang salah dengan contoh ini?