Ruby on rails Rails模型设计:将一组属性从一个类复制到另一个类

Ruby on rails Rails模型设计:将一组属性从一个类复制到另一个类,ruby-on-rails,class,model,Ruby On Rails,Class,Model,我有一个Invite模型,它有n+m个属性(位置、时间等)。接受invite后,将创建一个事件对象,其中包含从invite模型复制的n个属性及其自身的k个属性。我希望避免n个属性的重复 我应该如何在Rails中为这种关系建模 谢谢。不要考虑属性,要考虑对象以及它们在现实世界中的模型(表示)。还要考虑对象的生命周期 邀请很容易理解 事件也是可以理解的 仅仅因为有重叠并不意味着你想消除它 如果你真的愿意,你可以说每一个活动都属于一个邀请。(并且n属性仅存储在所属模型中。) 但在执行此操作之前,请

我有一个Invite模型,它有n+m个属性(位置、时间等)。接受invite后,将创建一个事件对象,其中包含从invite模型复制的n个属性及其自身的k个属性。我希望避免n个属性的重复

我应该如何在Rails中为这种关系建模


谢谢。

不要考虑属性,要考虑对象以及它们在现实世界中的模型(表示)。还要考虑对象的生命周期

  • 邀请很容易理解
  • 事件也是可以理解的
仅仅因为有重叠并不意味着你想消除它

如果你真的愿意,你可以说每一个活动都属于一个邀请。(并且
n
属性仅存储在所属模型中。)

但在执行此操作之前,请使用业务逻辑确保一旦邀请达到
accepted
状态,就不会更改邀请

添加了复制
n
属性的另一个原因:假设这些属性稍后针对实际事件进行了更改——您希望这些属性位于事件模型中。如果您有一组用于邀请和事件的数据,那么您会说这些属性从输入邀请时起就已固定


但这很可能与现实世界不符。如果您确实更改了这些值,那么您将丢失输入邀请时原始值的信息。

谢谢Larry。我认为你的建议是明智的。