想实现如下的效果:Horse/Pig/Sheep均继承Animal,拥有共同的属性和关联。
class Animal<ActiveRecord::Base
has_and_belongs_to_many : xxx
has_many : xxx
belong_to : xxx
end
class Horse < Animal
end
class Pig < Animal
end
class Sheep < Animal
end
......
试了一下,好像不行阿。Horse/Pig/Sheep三个类必须继承自ActiveRecord::Base才能正常使用。但我又不想把各个关系都在这几个子类里写一遍。能实现么?
class Animal<ActiveRecord::Base
has_and_belongs_to_many : xxx
has_many : xxx
belong_to : xxx
end
class Horse < Animal
end
class Pig < Animal
end
class Sheep < Animal
end
......
试了一下,好像不行阿。Horse/Pig/Sheep三个类必须继承自ActiveRecord::Base才能正常使用。但我又不想把各个关系都在这几个子类里写一遍。能实现么?
本文探讨了在Rails应用中如何有效利用多态关联解决继承问题。具体案例为创建Animal基类,并让Horse、Pig、Sheep等子类继承之,同时避免在每个子类中重复定义相同的关系。
505

被折叠的 条评论
为什么被折叠?



