2010-11-09 103 views
2

我試圖爲我的幾個模型實現特定類型的版本控制(與acts_as_versioned和和vestal_versions提供的根本不同)。實現由多個傳統ActiveRecord模型驅動的虛擬ActiveRecord模型的最佳方式是什麼?在這種模型中,模型數據不僅僅存在於一個表中的一行中?虛擬ActiveRecord模型

換句話說,如何創建一個ActiveRecord模型,其中CRUD方法被覆蓋並在多個底層ActiveRecord模型上調用適當的方法?

+1

你想使用任何ActiveRecord:Base的方法嗎? – rwilliams 2010-11-09 19:09:51

+0

最好,我想有協會。如果ActiveRecord證明太難以擴展,我想我可以使用ActiveModel並覆蓋模型屬性獲取器和設置器。 – hadronzoo 2010-11-09 19:38:14

+0

或者DataMapper可能比ActiveRecord更合適? – hadronzoo 2010-11-09 20:11:02

回答

0

我從和Pragmatic Programmers http://pragprog.com/titles/jvrails/crafting-rails-applications

第二章確實非常類似的東西..所有的需要的最重要的是推薦的新書「卡夫丁Rails應用程序」,是 實現類似的東西activerecord-3.0.3/lib/active_record/persistence.rb,其中 充當從虛擬模型到基礎持久模型的中介。

+0

我最終編寫了一個DataMapper插件,它比ActiveRecord更具可擴展性。但是,您參考的章節看起來像是一個很好的AR解決方案。 – hadronzoo 2011-04-08 18:40:25