У меня есть приложение ruby, использующее ActiveRecord.У меня есть следующие модели
module ExchangeManager
module Resources
class Composition < ActiveRecord::Base
belongs_to :chain
belongs_to :link, :polymorphic => true, :primary_key => :id
end
class Chain < ActiveRecord::Base
has_many :compositions
end
end
end
со следующей миграцией
create_table :compositions do |t|
t.references :link, :polymorphic => true
end
create_table :chains do |t|
t.string :name, :null => false
end
Когда я создаю новую цепочку с 2 связанными композициями, таблица «составы» таблицы SQL содержит:
id |link_id |link_type
1 |1 |ExchangeManager :: Resources :: Цепочка
2 |1 |ExchangeManager :: Resources :: Chain
Вместо того, чтобы иметь полное пространство имен в столбце link_type, я бы хотел, чтобы ActiveRecord сохранял только короткое имя класса, то есть 'Chain' вместо 'ExchangeManager :: Resources :: Chain'.
Почему?Потому что я использую ту же БД в другом приложении Rails, и я хотел бы иметь возможность манипулировать теми же моделями в этом проекте без пространств имен.