Primera llamada a una, Segunda llamada controlador, se define constante, “constante sin inicializar Oauth”?
-
04-10-2019 - |
Pregunta
Estoy intentando agarrar la gema OAuth para el trabajo con los carriles 3 y estoy corriendo en este problema raro ... (independiente de la gema, creo que me he encontrado con esto una vez antes)
I tiene un controlador llamado "OauthTestController", y un modelo llamado "ConsumerToken". Las miradas modelo como éste.
require 'oauth/models/consumers/token'
class ConsumerToken < ActiveRecord::Base
include Oauth::Models::Consumers::Token
end
Cuando voy a "/ oauth_test / gorjeo", se carga el módulo Oauth::Models::Consumers::Token
y yo soy capaz de conectarse a twitter ningún problema. Pero la segunda vez que lo intento (simplemente actualizar la URL /oauth_test/twitter
), me da este error:
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'
¿Por qué? Tiene algo que ver con las rutas de carga o estar en el modo de desarrollo, tal vez?
Solución
Trate de usar require_or_load en lugar de requerir. Que las fuerzas de carga completa cada vez que en el desarrollo y en ocasiones puede ayudar con este tipo de problema.
Otros consejos
Sí, es algo que ver con estar en el modo de desarrollo. Configuración config.cache_classes = true en su llegar development.rb es todo trabajando (pero es un dolor en el culo)