我工作的一个项目中,数据模型是:从外部宝石使用类层次结构的rails模型?
- 在一个单独的创业板
- 不使用ActiveRecord,也没有任何关系数据库存储(实际上它依赖于CouchDB的)
- 品牌实施
- 命名空间的使用使得类继承的密集使用
为了简化架构,让我们说我们有以下根类:
module Marketplace
module Food
class Fruit
…
end
end
end
和一对夫妇专门类:
module Marketplace
module Food
class Peach < Marketplace::Food::Fruit
…
end
class Tomato < Marketplace::Food::Fruit
…
end
end
末
我想Rails的显示(和管理)所有的水果无论是他们的天性,而无需修改模型女巫完美的Rails工作。
的问题是,似乎的ActionView使用一定数量公约的定义将要根据实际的类名路径和URL。
所以,如果我提出一个苹果,在表展/删除操作,轨道将寻找一个名为marketplace_food_apple_path和类似的方法这当然是不存在的。
有没有一种方法可以指出Apple是Fruit的ActionView :: Base结构?
我期望这个“基地投”成为基于Ruby的框架“微不足道”,但似乎面向对象模型的这个简单的例子不使用Rails的工作?
如何管理rails中的“复杂对象”数据模型?
或者它超出了Rails的范围?
感谢您的指点!
不,这不是我想要的! 我正在寻找一种方法来处理在Rails中使用* class * inhertance的现有模型。 似乎这是不可能的,也不可能在Rails 3.0中。这是一个遗憾,这就是我转向Ramaze的原因。 模块包含/扩展是一个很好的功能,但根本不适合我们的数据模型模式,主要是因为该模型已经存在并且完全适合我们的Rails。 所以我没有找到一种方法来改变我们的组件到“适合”到Rails中,而是使用Rails来网络公开现有的应用程序逻辑。 – devlearn 2010-06-11 07:37:50