method

set_primary_key

Importance_2
Ruby on Rails latest stable (v7.1.3.2) - 1 note - Class: ActiveRecord::Base

Method deprecated or moved

This method is deprecated or moved on the latest stable version. The last existing version (v2.3.8) is shown here.

These similar methods exist in v7.1.3.2:

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!