Получить имя таблицы из ActiveRecord

я использовалActiveRecord::Base.set_table_name установить имя моей таблицы на динамически создаваемый класс ActiveRecord. Теперь мне нужно знать, как получить это значение позже. В api docs ничего не сказано о том, как это сделать. Кроме того, я не могу получить имя таблицы из имени класса ActiveRecord, потому что они имеют ключи, отличные от имени таблицы.

Вот лучший пример того, что я делаю

<code>table_klass = Class.new(ActiveRecord::Base)
    ActiveRecord::Base.const_set(const_name,table_klass)
    app = @app
    table_klass.class_eval do
      after_save do
        @@channel.push self
      end
      set_table_name t.server_table
      establish_connection(
        :adapter  => "mysql2",
        :host     => app.db_host,
        :username => app.db_user,
        :password => app.db_pass,
        :database => app.db_name
      )
    end
</code>

В этом случае, еслиconst_name = Test и имя базы данных - Database, она должна создать класс ActiveRecord :: Base :: DatabaseTest, что она и делает. Но когда я вызываю table_name, я получаю неопределенную локальную переменную или метод. Нужно ли вызывать table_name в классе?

Update: Я получил это работает, позвонивinstance.class.table_name

Ответы на вопрос(4)

Ваш ответ на вопрос