ruby-on-rails - 计算最近 7 天内创建的记录

标签 ruby-on-rails ruby ruby-on-rails-3 activerecord

如何更改下面的查询以仅选择过去 7 天内创建的记录?

self.favorites.count

此函数位于我的User 模型中。

 def calculate_user_score
    unless self.new_record?
      self.score = (self.links.count * 5) + (self.favorites.count * 0.5)
    end
  end  

最佳答案

您可以像这样添加一个where条件:

self.favorites.where('created_at >= ?', 1.week.ago).count

对于您的 calculate_user_score 方法,您可能也想为 links 这样做:

def calculate_user_score
  unless new_record?
    self.score = (links.where('created_at >= ?', 1.week.ago).count * 5) +
      (favorites.where('created_at >= ?', 1.week.ago).count * 0.5)
  end
end  

关于ruby-on-rails - 计算最近 7 天内创建的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8426781/

相关文章:

ruby-on-rails - Rails 3 路由 - 从 routes.rb 传递参数

ruby-on-rails-3 - 使用 Rails 计数器渲染集合中的部分内容

ruby-on-rails - 在 ruby​​ 中映射范围

ruby-on-rails - 为 Amazon S3 编写 IAM 策略和 CORS 配置

ruby-on-rails - Net::IMAP 失败:连接已关闭

Ruby Mechanize Zlib::BufError

ruby-on-rails - 友情模型,如何判断2个用户之间是否已经存在友情模型

ruby-on-rails - Ruby on rails,强制用户下载 tmp 文件

javascript - rails : Changing form method to PATCH in javascript sends a GET request on form submit

ruby-on-rails - 使用规则引擎