Skip to content

Latest commit

 

History

History
26 lines (21 loc) · 863 Bytes

attribute-getter-without-the-recursion.md

File metadata and controls

26 lines (21 loc) · 863 Bytes

Attribute Getter without the Recursion

You may find yourself adding a custom getter method for one of the attributes in a Rails model. It might look something like this:

def name
  name || account.name
end

This method will fall on its face as it quickly expands the stack recursively calling itself. Instead, you can tell ActiveRecord that you want the value of that attribute without invoking the getter Instead, we want to get the value of the attribute without invoking the model's getter. ActiveRecord allows us to do this with the read_attribute method. Check it out:

def name
  read_attribute(:name) || account.name
end

source