the class of the object may be ActiveModel::Model or ActiveRecord::Base. But ActiveRecord::Base only has primary_key and it is for this class, the implementation has been extended.