Ruby 实施奖金制度
我需要做的是类似奖金制度的事情。假设我有一个用户和一些帖子。当用户达到一定数量的职位(即100,300,550等),我想给他新的排名和“金钱”奖金。但是如果我在新的帖子保存中检查它,我怎么能不两次或两次以上(即,如果帖子>n{give bonus;})。我如何使这种情况只发生一次? 我曾想过在DB中设置一个单独的列,比如Ruby 实施奖金制度,ruby,Ruby,我需要做的是类似奖金制度的事情。假设我有一个用户和一些帖子。当用户达到一定数量的职位(即100,300,550等),我想给他新的排名和“金钱”奖金。但是如果我在新的帖子保存中检查它,我怎么能不两次或两次以上(即,如果帖子>n{give bonus;})。我如何使这种情况只发生一次? 我曾想过在DB中设置一个单独的列,比如bonus\u gived,但如何将其用于不同的级别?我不知道为什么,但我猜这个问题的解决办法 注:我使用ruby作为我的语言。正如你所说: 在新邮件保存时检查它 只需使用==而
bonus\u gived
,但如何将其用于不同的级别?我不知道为什么,但我猜这个问题的解决办法
注:我使用ruby作为我的语言。正如你所说:
在新邮件保存时检查它
只需使用==
而不是
if posts == n { give bonus; }
我想是你自己回答的。你给用户一个新的等级。你可以检查用户是否需要提升到更高的级别,如果是这样,提升他并给予奖金 例如: Rank1小于100 Rank2大于等于100&<300 Rank3大于等于300&<550 Rank4大于等于500 如果一个用户保存了他的第100个帖子,并且排名1,他应该被提升到排名2,并获得“金钱”奖金
这样,如果您以后决定添加更多级别/不同范围,您将更加灵活。请注意是否可以删除帖子。人们可以通过发布、删除、发布、删除和获取巨额奖金来利用这一点。很抱歉,这个例子并不完全正确,因为帖子增加了1,但更好的例子是人口增加了一些随机值,因此,我不能使用
=
我认为也可以添加一个bonus\u given
列,该列在新排名后重置,并在奖金发放后设置。