Ничто не мешает использовать его в ActiveRecord без ID:
Миграция содержит:
create_table :posts, :id => false do |t|
t.integer :version
t.datetime :updated
end
Запросы:
>> Post.create(:version => 1, :updated => Time.now)
=> #<Post version: 1, updated: "2009-05-05 19:24:31">
>> Post.all
=> [#<Post version: 1, updated: "2009-05-05 19:24:31">]
>> Post.all(:conditions => { :version => 1 })
=> [#<Post version: 1, updated: "2009-05-05 19:24:31">]
Журнал отчета об этих SQL-запросах:
CREATE TABLE "posts" ("version" integer, "updated" datetime) ;
INSERT INTO "posts" ("version", "updated") VALUES(1, '2009-05-05 19:24:31');
SELECT * FROM "posts"
SELECT * FROM "posts" WHERE ("posts"."version" = 1)
Надеюсь, это поможет