2012-04-02 126 views
8

我想調用ActiveRecord對象上的方法,其中存在同名的屬性。這會導致SystemStackError: stack level too deep錯誤。ActiveRecord對象屬性名稱與方法名稱相同

如何從方法中訪問對象屬性以修改它?

def first_name 

return self.first_name.upper 

end 

回答

21

如果這是您可以使用Active Record的模型read_attribute方法

def first_name 
    read_attribute(:first_name).upper 
end