如何为RoR模型实现类似堆栈的信息

时间:2012-04-11 09:09:26

标签: database arrays ruby-on-rails-3 stack

我需要添加一个"事件"模拟关于"子事件"的一些信息。例如,事件可能是匹配,子事件可以是目标(我需要跟踪前锋和分钟),替换或其他。如何实现这一目标的最佳方法是什么?我认为这不是为目标创建新模型的好方法,我希望所有信息都保留在Match模型中。

2 个答案:

答案 0 :(得分:0)

在我看来,创建Goal模型是一个很好的解决方案,它会belongs_to一个Match和一个Striker,并会在信息发生时存储信息(分钟)。

答案 1 :(得分:0)

也许可以通过“属于自己”协会来完成。

看看这个:Rails 3 - A model with a one to one relationship to itself - do I need belongs_to

答案建议使用ancestry gem或简单的belongs_to关联:

belongs_to:event,:foreign_key => “parent_event_id”

此外,在您的模型中,您应该添加“event_type”列并将“匹配”,“目标”或其他任何内容放在此处。