Methods
    - D
 - P
 - Q
 
Instance Public methods
      
        
            
              dangerous_attribute_method?(method_name)
            
            Link
          
          
          
            
            
              define_method_attribute(attr_name)
            
            Link
          
          
          
            # File activerecord/lib/active_record/attribute_methods/primary_key.rb, line 28 def define_method_attribute(attr_name) super if attr_name == primary_key && attr_name != 'id' generated_attribute_methods.send(:alias_method, :id, primary_key) generated_external_attribute_methods.module_eval " def id(v, attributes, attributes_cache, attr_name) attr_name = '#{primary_key}' send(attr_name, attributes[attr_name], attributes, attributes_cache, attr_name) end ", __FILE__, __LINE__ end end
            
              primary_key()
            
            Link
          
          
          
            Defines the primary key field – can be overridden in subclasses. Overwriting will negate any effect of the primary_key_prefix_type setting, though.
            
              primary_key=(value)
            
            Link
          
          
          
            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"
            
              quoted_primary_key()
            
            Link
          
          
          
            Returns a quoted version of the primary key name, used to construct SQL statements.