我有以下代码:
class MyClass
def method
foo = MyClass.all
end
end
会导致此错误:
NameError (uninitialized constant MyClass::MyClass)
如果我将其更改为self.all,它可以正常工作,但是当我部署到Heroku时,现有代码工作正常。它只在我的本地系统上打破了。
这是使用Rails 3.1.1应用程序和Ruby 1.9.2
任何想法是什么?
答案 0 :(得分:1)
你不应该这样做。假设all
是一个类方法而不是实例方法,请执行
class MyClass
def method
foo = self.class.all
end
end
但是,我认为造成问题的原因是在生产中,类被缓存。在开发过程中,每次请求都会重新加载。