Ссылка на класс NameError внутри класса - PullRequest
0 голосов
/ 23 декабря 2011

У меня есть следующий код:

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

Есть идеи, что случилось?

1 Ответ

1 голос
/ 23 декабря 2011

Ты не должен был этого делать.Предполагая, что all является методом класса, а не методом экземпляра, выполните

class MyClass
    def method
        foo = self.class.all
    end
end

Однако я думаю, что причиной вашей проблемы является то, что в рабочей среде классы кэшируются.В процессе разработки они перезагружаются при каждом запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...