Первый звонок на контроллер, констант определен, второй звонок, «Неинициализированная постоянная Оат»?

StackOverflow https://stackoverflow.com/questions/2796465

Вопрос

Я пытаюсь получить драгоценный камень ОАУТ, чтобы работать с Rails 3, и я бегаю в эту странную проблему ... (Независимо от драгоценного камня, я думаю, что столкнулся с этим один раз)

У меня есть контроллер под названием «OauthtestControlller», а модель называется «Потребитель». Модель выглядит так.

require 'oauth/models/consumers/token'
class ConsumerToken < ActiveRecord::Base
  include Oauth::Models::Consumers::Token
end

Когда я хожу в "/ oauth_test / twitter", он загружает Oauth::Models::Consumers::Token Модуль, и я могу подключиться к Twitter без проблем. Но второй раз я стараюсь (просто обновить /oauth_test/twitter URL), это дает мне эту ошибку:

NameError (uninitialized constant Oauth):
  app/models/consumer_token.rb:4
  app/models/twitter_token.rb:2
  app/controllers/oauth_test_controller.rb:66:in `load_consumer'

Почему это? Он имеет что делать с пути нагрузки или быть в режиме развития?

Это было полезно?

Решение

Попробуйте использовать require_Or_load вместо требуется. Это заставляет полную нагрузку каждый раз, когда в разработке и иногда может помочь с таком вопросом.

Другие советы

Да, это что-то связано с тем, чтобы быть в режиме развития. Настройка config.cache_classes = true в вашем разработке .rb Получите его работать (но боль в заднице)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top