gpt4 book ai didi

ruby-on-rails - 跟踪每个循环以查找条件

转载 作者:行者123 更新时间:2023-12-02 21:26:16 24 4
gpt4 key购买 nike

我正在使用一个 API,它为我提供了一组对象,例如 Users 。每个user有一个属性,date 。我正在尝试查找 users 的号码在一定条件下,例如 where(date < Date.today)

不幸的是,当我尝试调用users.where('date < ?', Date.today).size时我收到错误

undefined method `where' for #<Array:0x007f974ac2cfc0>

我认为这是因为 where用于数据库查询。所以我假设我需要迭代每个对象并找到与条件匹配的对象。类似的东西

users.each { |user| user.date < Date.today }.size

但这只是返回所有 users 的总数。所以我假设.each中的某些内容 block 是错误的。有人可以解释一下吗?任何引用资料将不胜感激。

最佳答案

.each 是一个迭代器,而不是您需要的“选择器”。使用Array#select:

users.select { |user| user.date < Date.today }.size

如果你确实想使用.each,你可以这样做:

anterior_users = []
users.each { |user| anterior_users << user if user.date < Date.today }
anterior_users.size

关于ruby-on-rails - 跟踪每个循环以查找条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24045393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com