0

通过数据事件,我的意思不是像点击这样的物理事件,而是像社交网络奖励系统中的“当用户第一次获得第 100 分时”。(如果有描述这个的术语,请告诉我)

我目前有一张usershas_many 的表格medals,这是每当用户达到奖牌所需的积分阈值时获得的图标。我正在使用Activerecord-reputation-system通过内置的 helper 跟踪用户点reputation_for(:points)

在我看来,我展示

Medal.all.each do |medal|
  if @user.reputation_for(:points) >= medal.requirement
    image_tag(medal.icon)
  end
end

这可以很好地显示已获得的徽章,但我想在用户第一次获得徽章时祝贺用户的一次性弹出消息。

我需要做什么才能“知道”用户何时首次达到徽章阈值?

对不起,这很广泛,但真的不知道从哪里开始。我是否需要创建第二个模型来“跟踪”用户的进度?如果是这样,那个模型会是什么样子?如果您能指出任何相关资源,将不胜感激。

4

1 回答 1

1

我不是 RoR 专家,但是否可以在您的user模型中添加一个布尔值来告诉您尚未获得任何徽章?

这样,当您添加 时medal.icon,您可以检查它是否是第一次(对于此用户)并向她显示一个祝贺弹出窗口并通过更改 bolean 的值来标记它。

于 2012-12-03T13:00:58.120 回答