Problem with Acts As Versioned and Save v. Save Without Revision


#1

Okay, I had a legacy table that had no versioning. I added Acts As
Versioned, by adding the “version” column to said database, and adding
the acts_as_versioned to the model. When I tried to “save()” a record,
I got an “uninitialized constant ActiveRecord::Table::Version” The
field existed in the database, and the table_versions table was there.
When I used “save_without_revision()”, the record saved without a
problem.

Any clue on what I need to do to fix this?


#2

aav also requires an xxx_versions table (e.g., foo_versions if you’re
versioning foos). Check the documentation; there’s a class-level
method added to models that acts_as_versioned that will create the
version table for you if you add it to a migration.


#3

Sorry for the delay answering. There is a xxx_versions table.

Crud. I think I see the problem. This is a legacy db, which has a
table named ‘bases,’ which is a naughty table name. The singular is
‘basis,’ which I can’t inflect because it’s a (kinda) reserved name.

So, I guess I can magically rename the table “basis_versions” and fix
it. I’ll give it a whirl.