# File lib/active_record/base.rb, line 2292 def id attr_name = self.class.primary_key column = column_for_attribute(attr_name) self.class.send(:define_read_method, :id, attr_name, column) # now that the method exists, call it self.send attr_name.to_sym end