I'm trying to figure out a good way to dynamically set the table_name
of an ActiveRecord model object.
I've got a legacy db with multiple tables which hold the same type of
data. The tables are laid out as DATA1000 through DATA9999.
My app needs to allow the user to select a number 1000 through 9999
and then use that selection in order to determine the appropriate
table to query.
I have a single ActiveRecord object called DataX which I'd like to use
to access all of the above tables.
What I've been doing is to call DataX.set_table_name for every search
depending on the users selection to get the data from the right table.
This is not going to work in a multi-user env as set_table_name is a
class method and I'd be resetting the table name for all users, all
Does anyone have any other suggestions for dynamically assigning a new
table name to an instance of an ActiveRecord that is scoped at the
user session level?