Methods
- D
- P
- Q
Instance Public methods
# File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 28 28: def define_method_attribute(attr_name) 29: super 30: 31: if attr_name == primary_key && attr_name != 'id' 32: generated_attribute_methods.send(:alias_method, :id, primary_key) 33: generated_external_attribute_methods.module_eval "def id(v, attributes, attributes_cache, attr_name)\nattr_name = '\#{primary_key}'\nsend(attr_name, attributes[attr_name], attributes, attributes_cache, attr_name)\nend\n", __FILE__, __LINE__ 34: end 35: end
Defines the primary key field — can be overridden in subclasses. Overwriting will negate any effect of the primary_key_prefix_type setting, though.
Sets the name of the primary key column.
class Project < ActiveRecord::Base self.primary_key = "sysid" end
You can also define the primary_key method yourself:
class Project < ActiveRecord::Base def self.primary_key "foo_" + super end end Project.primary_key # => "foo_id"
Returns a quoted version of the primary key name, used to construct SQL statements.