在 rails/activerecord 中,是否可以有三个 ruby 类,其中两个继承自一个主类,然后有两个单独的锅碗瓢盆表。像这样...
class Tupperware < ActiveRecord::Base
end
class Pot < Tupperware
end
class Pan < Tupperware
end
优点是我可以使用 Tupperware.find() 方法和其他一些东西,而不必为每种不同的类型进行自定义。
在 rails/activerecord 中,是否可以有三个 ruby 类,其中两个继承自一个主类,然后有两个单独的锅碗瓢盆表。像这样...
class Tupperware < ActiveRecord::Base
end
class Pot < Tupperware
end
class Pan < Tupperware
end
优点是我可以使用 Tupperware.find() 方法和其他一些东西,而不必为每种不同的类型进行自定义。
我确信它适用于 mongoid——我自己做过几次。我不确定这是否适用于相关的数据库引擎......但你实际上是在问一个你可以回答自己的问题,只需按照你所说的去做。
[回应OP的评论]:
我只是说您应该使用相关数据库(例如 mySQL 或 SQLite)来测试 Rails 应用程序,并完全按照您的想法定义模型。
我在我的应用程序中使用了一个抽象模型。它运行良好,并且该find()
方法正如您所期望的那样运行,但我正在研究 Mongoid,所以我不使用ActiveResource
并且不能确定这是否适合您。你唯一能做的就是尝试。
在这里,看看我的代码摘录: https ://gist.github.com/ellmo/5262681