【问题标题】:Is this a dangerous override for Date.today in Ruby (on Rails)? (Timezone)这是 Ruby 中 Date.today 的危险覆盖(在 Rails 上)吗? (时区)
【发布时间】:2011-03-19 18:51:17
【问题描述】:
class Date
  class <<self
    alias_method :broke_ass_today, :today
  end

  def self.today
    Time.zone.now.to_date rescue Date.broke_ass_today
  end
end

因为我真的不想在我们的代码库中到处都用该语句替换 Date.today...

它只是简单得多的写入(和读取)日期 Date.today,因为这是我们习惯的。

【问题讨论】:

    标签: ruby-on-rails date timezone


    【解决方案1】:

    这听起来像是在乞求自己难以调试的错误,如果你忘记告诉他们这个小改进,这个项目的新开发人员可能会摸不着头脑;)

    有一些工具可以让您在几秒钟内用您的自定义编写方法替换代码中找到的每个“Date.today”。这并不难做到。也许您应该考虑该选项?至少对我来说,使用自定义方法扩展 Date 类听起来比覆盖 today 方法更好。

    【讨论】:

      【解决方案2】:

      Date.current 使用 Time.zone,因此您可以使用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-22
        • 1970-01-01
        • 1970-01-01
        • 2013-03-18
        • 2010-09-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多