我正在修改現有Rails應用程序的一部分以使用類表繼承gem(https://github.com/brunofrank/class - 表繼承)。一切都很好,除了我在我的超類中定義了一些實例方法 - Person,所有子類都需要能夠訪問。例如full_name
,它返回連接的姓和名,或cite_name
,它返回第一個姓和名。由於CTI gem實際上並沒有使用Ruby繼承(所有子類仍然繼承自ActiveRecord :: Base,並且gem做了一些時髦的巫術來將ActiveRecord字段鏈接在一起),所以我無法在子類中訪問這些方法創建。任何想法解決這個問題?我對STI並不感興趣,但我願意爲這個特定的CTI創業板分道揚and,或者看看其他解決方案。Rails類表繼承gem,人造繼承和缺少方法
2
A
回答
1
嘗試http://peterhamilton.github.com/citier,它基於CITIEsForRAILS,我分叉它&把它通過快速發展和其他各種變化。它修復了大多數(如果不是所有的)錯誤並且工作如此簡單。
0
只是把我的頭頂部,你看到在你的子類的遷移表,你需要有行:
create_table :videos, :inherits => :product do |t|
,並在您的Model.rb文件
class Product < ActiveRecord::Base
acts_as_superclass # I'm guessing you might be missing this line??
end
class Book < ActiveRecord::Base
inherits_from :product
end
+0
oops。 create_table:books,... – horseshoe7 2011-02-14 16:43:02
0
我認爲全新的CITIEsForRAILS gem(類繼承&對於RAILS的表繼承嵌入,請參閱https://github.com/altrabio/CITIEsForRAILS)完全符合您的要求。這個gem擴展了CTI,STI,&多表繼承,同時保留了Ruby類的繼承。
相關問題
- 1. Python類繼承中缺少方法?
- 2. 類的繼承和鑄造
- 3. 繼承和方法
- 4. Python類繼承,缺少屬性
- 5. 單表繼承或類表繼承?
- 6. 繼承:方法
- 7. 類型繼承與表繼承
- 8. 類繼承或單表繼承2.3
- 9. 構造繼承
- 10. 繼承構造
- 11. 從元類繼承方法
- 12. 方法調用繼承類
- 13. 繼承和方法調用
- 14. 封裝和繼承方法
- 15. 繼承和方法重載
- 16. 方法繼承和調用
- 17. 其他繼承類中的繼承類
- 18. Init方法繼承
- 19. Python方法繼承
- 20. python方法繼承
- 21. C++繼承和構造
- 22. 構造函數和繼承
- 23. 構造函數和繼承
- 24. 繼承和多重構造
- 25. 接口繼承和鑄造
- 26. C++虛繼承和構造
- 27. 構造函數和繼承?
- 28. C#鑄造和繼承
- 29. JMSSerializer和繼承類
- 30. 類繼承和DI
請讓我知道你如何繼續,想知道其他人的經驗! – 2011-05-02 20:59:10