3
我有以下3個rails類,它們都存儲在一個表中,使用rails的單表繼承。單表繼承發現問題
如果我有與150
ID的StockThingTemplate
那麼我應該在邏輯上能夠做到這一點:
ThingTemplate.find(150)
=> #returns me the StockThingTemplate
而事實上這個工程,有時
當它工作,它會生成以下SQL查詢:
SELECT * FROM templates WHERE (templates.`id` = 159) AND ((templates.`type` = 'ThingTemplate') OR (templates.`type` = 'StockThingTemplate'))
如果它不能正常工作,它會生成以下SQL查詢:
SELECT * FROM templates WHERE (templates.`id` = 159) AND ((templates.`type` = 'ThingTemplate'))
的SQL是做什麼是應該的,但問題是,爲什麼會產生一組SQL一次,另一次不同。這實際上是完全相同的代碼。
注:
- 我在軌道上1.2
- 我已經在不同的地方嘗試過
require 'stock_thing_template'
。它要麼沒有效果,要麼造成其他問題
非常感謝。這也解決了我的問題! – JasonSmith 2009-05-18 10:54:05