2010-11-09 100 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