Ruby on rails 抽象类和子类的最佳ActiveRecord继承策略

Ruby on rails 抽象类和子类的最佳ActiveRecord继承策略,ruby-on-rails,ruby,oop,activerecord,single-table-inheritance,Ruby On Rails,Ruby,Oop,Activerecord,Single Table Inheritance,试图找出针对此特定问题的最佳ActiveRecord继承策略: 我有一个抽象类,我们用以下方法/属性将其称为Message Message |- recipient |- sender \ body 我有两个子班 ColorMessage < Message |- first_color |- second_color \ body (returns "#{sender.name} says #{first_color} > #{second_color

试图找出针对此特定问题的最佳ActiveRecord继承策略:

我有一个抽象类,我们用以下方法/属性将其称为
Message

Message
  |- recipient
  |- sender
   \ body
我有两个子班

ColorMessage < Message
  |- first_color
  |- second_color
   \ body (returns "#{sender.name} says #{first_color} > #{second_color}")

WeatherMessage < Message
  |- current_weather_adverb
   \ body (returns "#{sender.name} enjoys #{current_weather_adverb} weather")
ColorMessage#{second_color}”)
天气消息<消息
|-当前天气副词
\body(返回“#{sender.name}享受#{current_weather_副词}weather”)
我希望能够对所有
消息
运行查询并显示它们的身体,而不必担心它们的具体类型。基本上将
消息
视为一个接口

我熟悉STI,在这种情况下这是正确的解决方案吗


谢谢你的帮助

> P>我认为这是对单表继承的适当使用(STI)(

)。 您可以要求Message.all或ColorMessage.all和rails为您处理对象转换