重新打开一个类,在哪里放这个代码?

时间:2011-05-27 20:22:32

标签: ruby-on-rails ruby

我有一个我想要重新打开的课程,这是一个宝石。

我把它放进去了:

/lib/ClassName.rb

class ClassName
  class << self
    def some_method(a)
    end
  end
end

现在,如果我调用这个类方法,它会说它是一个未定义的方法。

我确实将自动加载设置为/ lib文件夹。

这是错误的方法吗?

1 个答案:

答案 0 :(得分:1)

我发现有时我需要手动要求某些文件(尤其是那些 monkey patch 现有的类/模块),即使lib文件夹正在配置为自动加载。我还没弄清楚为什么。

为了解决这个问题,在config/initializers/application.rb中(必要时创建)我会手动要求文件:

require 'ClassName'