Herança de tabela única para se referir a uma classe filho com seus próprios campos
Estou usando Ruby on Rails 3 e implementei uma herança de tabela única em funcionamento, como a seguir:
class User < ActiveRecord::Base
# Schema Information
#
# Table name: User
#
# id : integer
# type : string
# children_user_id: integer
...
end
class UserAdmin < User
# Schema Information
#
# Table name: UserAdmin
#
# id : integer
# special_field1 : string
# special_field2 : string
# ...
...
end
class UserCommon < User
# Schema Information
#
# Table name: UserCommon
#
# id : integer
# another_field1 : string
# another_field2 : string
# ...
...
end
Gostaria de saber se, ao criar umUserAdmin
record (ou umUserCommon
record) noUser
tabela executando o seguinte
UserAdmin.create(:children_user_id => "1")
# or UserCommon.create(:children_user_id => "1")
é possível criar "automaticamente" de alguma forma (possivelmente o "Rails Way "!) um novo registro também noUserAdmin
tabela (ouUserCommon
table) que possui seus próprios campos (no nível do banco de dados, esses campos são colunas). Gostaria de fazer isso para "lidar melhor"UserAdmin
porque esta classe possui atributos diferentes e mais doUserCommon
classe
Se for possível, como posso fazer isso (talvez usando instruções de modelo de associação, retornos de chamada, polimorfismo, ...)? Você tem algum conselho sobre esta questão?