ActiveRecord对象属性名称与方法名称相同
问题描述:
我想调用ActiveRecord对象上的方法,其中存在同名的属性。这会导致SystemStackError: stack level too deep
错误。ActiveRecord对象属性名称与方法名称相同
如何从方法中访问对象属性以修改它?
def first_name
return self.first_name.upper
end
答
如果这是您可以使用Active Record的模型read_attribute
方法
def first_name
read_attribute(:first_name).upper
end