Saya menggunakan Ruby on Rails 3.2.2 dan saya ingin tahu apakah yang berikut ini adalah cara yang "tepat" / "benar" / "yakin" untuk mengganti metode penyetel untuk atribut kelas saya.
attr_accessible :attribute_name
def attribute_name=(value)
... # Some custom operation.
self[:attribute_name] = value
end
Kode di atas tampaknya berfungsi seperti yang diharapkan. Namun, saya ingin tahu apakah, dengan menggunakan kode di atas, di masa depan saya akan memiliki masalah atau, setidaknya, masalah apa yang "harus saya harapkan" / "bisa terjadi" dengan Ruby on Rails . Jika itu bukan cara yang tepat untuk mengganti metode setter, apa cara yang benar?
Catatan : Jika saya menggunakan kode
attr_accessible :attribute_name
def attribute_name=(value)
... # Some custom operation.
self.attribute_name = value
end
Saya mendapatkan kesalahan berikut:
SystemStackError (stack level too deep):
actionpack (3.2.2) lib/action_dispatch/middleware/reloader.rb:70