On this page
module ActiveRecord::AttributeMethods::PrimaryKey
Public Instance Methods
Returns the primary key value.
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 17
def id
return unless self.class.primary_key
sync_with_transaction_state
read_attribute(self.class.primary_key)
end
Sets the primary key value.
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 24
def id=(value)
sync_with_transaction_state
write_attribute(self.class.primary_key, value) if self.class.primary_key
end
Queries the primary key value.
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 30
def id?
sync_with_transaction_state
query_attribute(self.class.primary_key)
end
Returns the primary key value before type cast.
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 36
def id_before_type_cast
sync_with_transaction_state
read_attribute_before_type_cast(self.class.primary_key)
end
Returns the primary key previous value.
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 42
def id_was
sync_with_transaction_state
attribute_was(self.class.primary_key)
end
Returns this record's primary key value wrapped in an Array if one is available.
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 10
def to_key
sync_with_transaction_state
key = self.id
[key] if key
end
Protected Instance Methods
Calls superclass method
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 49
def attribute_method?(attr_name)
attr_name == 'id' || super
end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.