2012-01-13 54 views
-1

我已經在users表中創建了單表繼承brokers。 所以在控制檯,單表繼承,返回錯誤instance_of?

b = User.find 2(其類型爲代理)

當我把它b.class沒有返回User模型,但模型Broker。 這是STI的工作方式嗎?

+0

那些給減投票,請說明原因。 :D – shajin 2012-01-13 14:47:18

回答

3

這是STI工作的方式。當你做User.find xxx時,你可以找回User的任何子類的一個實例。

+2

爲了補充說明,如果您使用Broker.find(2)並且ID 2的對象不是類型代理,則會給出記錄未找到的異常。 – 2012-01-13 14:51:26

+0

好的。謝謝..但有人給我減去投票。你的極客們在我的追求中發現任何問題? – shajin 2012-01-13 16:00:23