No that's completely wrong. ActiveRecord will initialize getter/setter methods for all fields in your db table, and when you use those methods ruby knows they aren't local variables. So all three of the code snippets will produce the same output (although they're not equivalent)