В моем драгоценном камне у меня есть генератор Rails для создания миграции. Эта миграция очень проста:Как определить динамическое имя таблицы AR
class MigrateGenerator < Rails::Generators::Base
source_root File.expand_path(File.join(File.dirname(__FILE__), '../generators/templates'))
def create_migration
template "migration_template.rb", "db/migrate/create_orders_table.rb"
end
end
class CreateOrdersTable < ActiveRecord::Migration
def self.up
create_table(:my_default_name) do |t|
#some columns
end
#indexes
end
end
class Order < ActiveRecord::Base
self.primary_key = :id
self.table_name = 'my_default_name'
end
Мой вопрос: есть ли возможность разрешить пользователю определять собственное имя таблицы? Я знаю, что я могу легко передать параметр в мой генератор, но как изменить определенные self.table_name = 'my_default_name'
Откуда появляется 'my_default_name'? для каждого пользователя – emaillenin
вы хотите передать 'self.table_name' генератору в качестве параметра? – lx00st
'my_default_name', как следует из названия, определяется мной. Поэтому всегда имя таблицы будет 'my_default_name'. Я хотел бы разрешить пользователю генерировать миграцию с настраиваемым именем – dewastator