Я использую rails 3.1, и ни один из приведенных выше ответов не работает для меня (работа со старой схемой БД).
Это работает, хотя:
class ActiveRecord::Base
def self.no_pk_protection!
# yikes
default_scope :order => primary_key # this is necessary so first and last don't fail
attr_accessor :mock_pk
set_primary_key :mock_pk
end
end
... а затем:
class Category < ActiveRecord::Base
no_pk_protection!
end