0
我新的軌道,而我堅持用下面的問題:軌持久化類變量
我需要一個人類可讀的用戶ID的持久化類變量(我認爲)。 客戶類是Single Table Inheritance設置中的聯繫人類的子類,因此數據庫生成的ID不是有用的,因爲它不是線性升序。
我想我需要一個類變量或全局變量來實現一種計數器/ ID(它不是可以刪除客戶的計數方法)。我對麼?在這種情況下,類變量需要以某種方式保存到數據庫中,對嗎?
我有點失去了
- 如何保存它
- 什麼時候,以增加它:我不得不重寫新的方法, 呼叫的第一超級?
- 如何加載的情況下,應用程序需要的價值,在某些時候
重新啓動 。
我應該更喜歡一個Multible Table Inheritence設置,而使用數據庫ID嗎?這將是一個可憐的事情,因爲兩個班的90%以上的領域是相同的。
您的解決方案不會生成唯一的ID。在創建下一個客戶之前刪除最後一個客戶。這是爲了我的客戶想要具有易識別的ID以快速區分客戶。如果我採用數據庫生成的ID,那麼它與來自其他聯繫人對象的ID混雜在一起。這就是爲什麼他們不是線性的(說實話,我不喜歡這個解決方案) – 2013-03-07 11:12:34
我試過你的解決方案,但它在「全部」調用中產生數據庫錯誤,在測試過程中我完全丟失了:Client ActiveRecord :: StatementInvalid: PGError:錯誤:缺少表「客戶端」的FROM-clause條目 LINE 1:...「WHERE」contacts「。」type「IN('Client')ORDER BY clients.na ... (「客戶」)ORDER BY clients.name DESC – 2013-03-12 10:17:22
顯然它尋找一個表客戶端,而表(STI)是稱爲聯繫人,但類型是客戶端...軌道錯誤? – 2013-03-12 10:23:56