我对Rails 3的使用Ruby和我实现了一个工作单表继承这样的:单表继承是指一个子类有自己的领域
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
我想知道,在创建在User
表中的记录UserAdmin
(或UserCommon
记录)运行以下
UserAdmin.create(:children_user_id => "1")
# or UserCommon.create(:children_user_id => "1")
能够“自动地”以某种方式创建(可能是“滑轨路“!)在UserAdmin
表(或UserCommon
表)中也有一个新记录,该表有其自己的字段(在数据库级别,这些字段是列)。 我想这样做是为了“更好地处理”UserAdmin
,因为这个类具有UserCommon
类的不同属性。
如果可能的话,我怎么能做到这一点(可能使用关联模型报表,回调,多态性,...)?你对这个问题有什么建议吗?
也许你在这句话之后忘了一些东西:“这些表中的属性可以使用”映射回基类。不管怎么说,还是要谢谢你。 – user502052 2011-05-05 00:22:56
你是对的。我的意思是“可以使用委托方法映射回基类” – tadman 2011-05-05 14:05:18