Получить имя таблицы из 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