Herencia de tabla única para referirse a una clase secundaria con sus propios campos
Estoy usando Ruby on Rails 3 e implementé una herencia de tabla única que funciona como la siguiente:
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
Me gustaría saber si, al crear unaUserAdmin
record (o unUserCommon
record) en elUser
tabla ejecutando la siguiente
UserAdmin.create(:children_user_id => "1")
# or UserCommon.create(:children_user_id => "1")
es posible crear "automáticamente" de alguna manera (posiblemente el "Rails Way "!) un nuevo registro también en elUserAdmin
mesa (oUserCommon
table) que tiene sus propios campos (en el nivel de la base de datos, esos campos son columnas). @ Me gustaría hacer eso para "manejar mejor"UserAdmin
porque esta clase tiene diferentes y más atributos de laUserCommon
clase
Si es posible, ¿cómo puedo hacer eso (tal vez usando declaraciones de modelo de asociación, devoluciones de llamada, polimorfismo, ...)? ¿Tiene algún consejo sobre este tema?