ruby-on-rails - ruby/rails 中的日期范围

标签 ruby-on-rails ruby

我想在 Rails 种子中获取从开始到结束之间的日期范围。

当我尝试生成日期范围 ((Date.today - 10)..Date.today) 时发生异常。

异常消息:范围值错误

但在 Rails 控制台中一切正常。

我认为 ActiveSupport 对此是合理的(我的调试器告诉我的)。

集会 3.1.3

这是怎么回事?

最佳答案

您可以通过拆分两条边并像这样检查它们的类来了解发生了什么:

Date.today.class #  => Date 
(Date.today - 10).class # => Date 
((Date.today - 10)..Date.today).each {|d| puts d.class} # => 10 Date works for me

您遇到的错误是这样的:

('a'..10) # => ArgumentError: bad value for range

你能发布范围的 2 个边缘的类吗?

(Date.today - 10).class => ?
Date.today.class       => ?

您是否在您的 Rails 环境中覆盖了任何类?它在 irb 中有效吗?

PS:当你在 rails 中时,你可以使用 10.days.ago 但你需要使用 to_date 因为它是一个 ActiveSupport::TimeWithZone

关于ruby-on-rails - ruby/rails 中的日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10171111/

相关文章:

ruby-on-rails - cucumber default_url_options[ :host] everytime "www.example.com" even if specified in environtemnts/test. rb

ruby-on-rails - 这可能是什么 : New Active Record chainable query language built on top of relational algebra?

ruby - seed 会在不同的 Ruby 中生成相同的随机序列吗?

ruby-on-rails - 将 rails 更新到特定版本

javascript - 如何使用 capybara 从 ruby​​ 调用异步 javascript 函数?

ruby-on-rails - Ahoy 的访问如何进行?

ruby-on-rails - 您如何使用 Minitest 进行嵌套测试?

ruby-on-rails - Redis 与 postgres 冲突 - 错误 'database configuration does not specify adapter'

ruby-on-rails - Rspec:如何测试 ActiveRecord::Base.connection.execute

javascript - 加载图表后如何获取 Google Visualization DataTable 数据?