Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 优点宝石:过期点数_Ruby On Rails_Ruby_Merit Gem - Fatal编程技术网

Ruby on rails 优点宝石:过期点数

Ruby on rails 优点宝石:过期点数,ruby-on-rails,ruby,merit-gem,Ruby On Rails,Ruby,Merit Gem,我根据用户的总积分给产品打折。但我想鼓励用户在180天内使用这些积分。因此,只有在

我根据用户的总积分给产品打折。但我想鼓励用户在180天内使用这些积分。因此,只有在<180.days.之前创建的点数才算


从180天前获得唯一标点符号的简单方法是什么?

我对优点不太熟悉,因此您必须了解它提供给您的模型,但您可能可以在您的用户模型中执行以下操作:

class User < ActiveModel::Base
  def validPonts
    self.points.select{ |p| p.created_at > 180.days.ago } 
  end
end

然后调用@user.validPoints,只检索过去180天中存在的点。

似乎为时已晚,但现在我正在处理类似的情况,我在他们自己的文档中找到了这个示例

在您的情况下,代码应该是这样的

user.score_points.where("created_at > '#{180.days.ago}'").sum(:num_points)
显然,点只返回整数,而不是点对象。所以,如果你想在给定的日期挑选分数,你需要使用分数来代替


我希望这会有所帮助。

奖励积分的行为是否会生成一个实例,记录您的数据库中添加了多少积分以及何时添加?我正在使用此gem:。我想是的。