method

set_primary_key

Importance_2
v2.3.8 - Show latest stable - 1 note - Class: ActiveRecord::Base
set_primary_key(value = nil, &block) public

Sets the name of the primary key column to use to the given value, or (if the value is nil or false) to the value returned by the given block.

  class Project < ActiveRecord::Base
    set_primary_key "sysid"
  end
Show source
Register or log in to add new notes.
May 17, 2012
0 thanks

If you try to use :id as a non-primary-key field

If you’re using this so that you can repurpose :id for another use, it gets hairy: your ActiveRecord::Base subclass will still use :id to refer to your primary key, whatever it be named.

So when you call [my obj].id = 33, 33 is set as the value of your primary key, not your :id attribute!