下面截取的代码中的两点是什么意思?
@collection = @collection.where(end_time: DateTime.now..)
最佳答案
这是一个 endless range ,在 ruby 版本 2.6
中首次引入。您可以查看有关语言功能的最新文档 here .
与所有 ruby 代码一样,理解小片段的一个好方法是将它们粘贴到 REPL 中,例如 pry
或 irb
以查看结果:
DateTime.now..
=> Fri, 11 Jun 2021 14:29:09 +0000..
因此在您的特定情况下,代码:
@collection.where(end_time: DateTime.now..)
是“collection where end_time >= DateTime.now
”的一种奇特说法。您应该会在生成的 SQL 语句中看到这一点。
关于ruby-on-rails - 方法调用中object(..)后面两点的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67938611/