Я пытаюсь заставить драгоценный камень OAuth работать с направляющими 3, и я сталкиваюсь с этой странной проблемой... (независимый от драгоценного камня, я думаю, что столкнулся с этим однажды),
У меня есть контроллер под названием "OauthTestController" и модель под названием "ConsumerToken". Модель похожа на это.
require 'oauth/models/consumers/token'
class ConsumerToken < ActiveRecord::Base
include Oauth::Models::Consumers::Token
end
Когда я перехожу к "/oauth_test/twitter", он загружается Oauth::Models::Consumers::Token
модуль и я можем соединиться для писания в Твиттере ни о какой проблеме. Но во второй раз я пробую его (просто обновляются /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 вместо require. Это приводит к полной загрузке каждый раз при разработке и иногда может помочь в решении подобных проблем.
Да, это как-то связано с нахождением в режиме разработки. Установка config.cache_classes = true в вашем development.rb заставит его работать (но это головная боль)