This question already has answers here:
Closed 3 years ago.
Rails Model Inheritance
(2个答案)
我有两节课
但当我
那么,我如何告诉rails我希望
然后
这可能是使每个模型的表保持不同并保持行为风格oo的最简单方法。
(2个答案)
我有两节课
class Animal < ActiveRecord::Base; end
class Kitty < Animal; end
但当我
Kitty.find_by_name('Ser Pounce')
时,我发现我实际上在查询Animals
表,尽管已经通过迁移创建了一个Kitty
表。那么,我如何告诉rails我希望
Kitty.find_by_name
查询Kitty
表而不是父Animals
表呢? 最佳答案
从继承自activerecord的模型继承是Single Table Inheritance的模式。而不是使用STI(除非这实际上是你想要的),我会使用行为混合模式。基本上,让动物成为一个模块,并使用include,这样你就可以:
module Animal; end
然后
class Kitty < ActiveRecord::Base
include Animal
end
这可能是使每个模型的表保持不同并保持行为风格oo的最简单方法。
关于ruby - 继承自另一个类和ActiveRecord::Base ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37177123/
10-08 23:13