我對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