ruby-on-rails - 方法调用中object(..)后面两点的含义

标签 ruby-on-rails ruby

下面截取的代码中的两点是什么意思?

@collection = @collection.where(end_time: DateTime.now..) 

最佳答案

这是一个 endless range ,在 ruby​​ 版本 2.6 中首次引入。您可以查看有关语言功能的最新文档 here .

与所有 ruby​​ 代码一样,理解小片段的一个好方法是将它们粘贴到 REPL 中,例如 pryirb 以查看结果:

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/

相关文章:

ruby - 如何在 ruby​​ 中处理文件而不将其移动到内存中?

ruby - RVM + Ruby 1.9.1 + ruby​​-debug = 错误?

javascript - 如何在 Turbolinks 中使用 HTML 初始化 Flickity

ruby-on-rails - 如何从匹配模式的redis列表中删除键?

ruby - 带有 ruby​​ 1.9.3 的 Heroku 导致许多不同的崩溃

ruby-on-rails - 动态嵌套表单总是创建一个额外的空白条目 - 使用 formtastic_coocoon

ruby-on-rails - 使用 Devise - Rails 4 保存具有嵌套形式的 has_one 模型

ruby-on-rails - 单表继承 (STI) 和 has_and_belongs_to_many (HABTM) 关联的错误

ruby-on-rails - 带有 S3 on Rails 3 的回形针/未初始化的常量 AWS::S3::Connection

ruby-on-rails - ActiveModel::Serializer has_many 对象的哈希值