0

我需要在 Windows 上使用 Rails 2.3 在 Ruby 1.8.7 中修补 strftime。在 config\initializers 我把这个 time_patch.rb 文件(下面的代码),但它似乎并没有拿起:

if RUBY_PLATFORM =~ /mingw32|mingw64|mswin32|mswin64/

  class Time
    alias_method :original_strftime, :strftime
    def strftime(fmt)
      hour12 = "%2d" % ((hour + 11) % 12 + 1)
      original_strftime(fmt.gsub(/%l/, hour12))
    end
  end

end

我将方法重命名为def blorpingTime.methods从 Rails 控制台执行,但没有看到新方法。

我需要做什么才能让它工作?

4

1 回答 1

1

你在使用时检查类方法Time.methods,所以你想要的是Time.instance_methods确保它被正确修补。

于 2012-04-04T20:37:26.417 回答