Neden bahsettiğime bir örnek:
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
Bu işe yarıyor gibi görünüyor, ama sadece öznitelik yöntemleri geçersiz kılma bölümü okudum ActiveRecord :: Base belgelerinde ve read_attribute
ve write_attribute
yöntemlerini kullanmanızı önerir . Yukarıdaki örnekte yaptığım şeyde yanlış bir şey olması gerektiğini düşündüm; aksi halde, bu yöntemleri neden öznitelik yöntemlerini geçersiz kılmanın "doğru yolu" olarak kutsarlar? Ayrıca daha çirkin bir deyim de zorluyorlar, bu yüzden iyi bir neden olmalı ...
Asıl sorum: Bu örnekte bir sorun mu var?