9

Sto cercando di far funzionare la gemma OAuth con Rails 3 e sto incontrando questo strano problema ... (indipendente dalla gemma, penso di averlo incontrato prima)Prima chiamata a un controller, Costante è definita, Seconda chiamata, "costante non inizializzata Oauth"?

Ho un controller chiamato "OauthTestController" e un modello chiamato "ConsumerToken". La modella sembra così.

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

Quando vado a "/ oauth_test/twitter", si carica il modulo Oauth::Models::Consumers::Token e sono in grado di connettersi a twitter nessun problema. Ma la seconda volta che provo è (solo aggiornare il /oauth_test/twitter url), mi dà questo errore:

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' 

Perché? Ha qualcosa a che fare con percorsi di caricamento o essere in modalità sviluppo forse?

+0

Funziona in modalità produzione? –

risposta

5

Prova a utilizzare require_or_load invece di richiedere. Ciò impone il pieno carico ogni volta durante lo sviluppo e può a volte aiutare con questo tipo di problema.

2

Sì, è qualcosa a che fare con l'essere in modalità sviluppo. Impostazione di config.cache_classes = true nel tuo development.rb funziona (ma è un rompicapo)

Problemi correlati