1

我为对象“竞赛”设置的操作“完成”,如下所示:

  • 过去:John Doe 完成了示例比赛
  • 礼物:John Doe 今天将参加 Example Race

问题是当我为过去完成的比赛发布动作,然后为当前比赛发布动作时。当它显示最近的活动时,它将两者混合在一起,比如我将 Example Current Race 发布为设置 expires_in 的当前比赛,以及设置expires_in 的 Past Race 。

我会在我的个人资料中得到这个:

John Doe 今天将参加 Example Current Race 和 Past Race 比赛。

或类似的东西:

John Doe 今天将参加 Example Current Race 和其他 2 场比赛。

如果我发布了多个不存在的比赛。

你知道这有多糟糕,我如何防止这两个“混合”作为我个人资料中的最近活动,我是否必须进行单独的操作并将其保留用于过去或现在的操作?

4

1 回答 1

1

目前,防止这种情况的方法是发布两个单独的操作:

  • yourapp:competing - “将在...中竞争”(现在时和过去时相同的文本)
  • yourapp:competed - “competed in...”(现在时和过去时相同的文本)

当用户当前正在竞争某事时,发布第一个操作并存储您返回的操作 ID。当他们在事件中竞争时,删除第一个动作,并发布另一个第二类型的动作。

本质上,您通过交换动作来强制改变时态。这也可以防止将相同类型但不同时态的动作聚合在一起。

对事件的支持还不理想——我们正在研究的东西。

于 2011-10-17T15:36:46.683 回答