Table_name question

Hello all!

I want to dynamically change table name for some count of my models. I understand that may be it's bad practice but I simply need it.

I found some solution that works for somebody:

application.rb:   around_filter :scope_rubrics_partition

  def scope_rubrics_partition     Rubric.scope_rubrics_partition do       yield     end   end

class Rubric < ActiveRecord::Base   def self.scope_rubrics_partition       if true         set_table_name 'dp_ru_rubrics'         # set_primary_key 'dp_ru_rubrics.id'       else         set_table_name 'rubrics'       end       yield      ensure        set_table_name 'rubrics'   end end

Also patch rails to don't memoize table_name reflections.rb:       def table_name         klass.table_name       end

      def quoted_table_name         klass.quoted_table_name       end

But now I get an error like:

Mysql::Error: Unknown column 'rubrics.id' in 'order clause': SELECT `dp_ru_rubrics`.* FROM `dp_ru_rubrics` ORDER BY rubrics.`id` ASC LIMIT 0, 15

So, how in the end set table name dynamically in production mode too? Thank you! p.s: sorry for poor english)