我正在修改現有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. 缺少繼承
- 2. Python類繼承中缺少方法?
- 3. Rails - 單表繼承 - 有缺陷的鑄造方法?
- 4. 繼承Ruby Gem?
- 5. 繼承和Rails
- 6. 類的繼承和鑄造
- 7. 繼承和方法
- 8. Rails無法識別繼承類方法
- 9. Python類繼承,缺少屬性
- 10. 單表繼承或類表繼承?
- 11. Rails繼承子類
- 12. JavaScript繼承。從另一個類繼承的對象和方法
- 13. 繼承:方法
- 14. 繼承方法
- 15. 方法繼承
- 16. 繼承Python類繼承docstrings
- 17. 類型繼承與表繼承
- 18. 類繼承或單表繼承2.3
- 19. 構造繼承
- 20. 繼承構造
- 21. 少CSS繼承
- 22. 從元類繼承方法
- 23. 方法調用繼承類
- 24. 引用類繼承方法
- 25. 裝飾類繼承和類方法
- 26. CSS - 較少的類繼承
- 27. 繼承類與子類和鑄造
- 28. 繼承和子方法
- 29. 繼承和虛擬方法
- 30. 繼承和私有方法
請讓我知道你如何繼續,想知道其他人的經驗! – 2011-05-02 20:59:10