2017-03-16 2 views
1

Ich habe ein Modell Conversation in app/models/conversation.rb und eine Klasse Messages::Conversation in app/lib/messages/conversation.rb genannt. Wenn ich versuche, Conversation von Konsole zu nennen (erwartet das Modell zu bekommen) kehrt:LoadError: Kontinuierliche Autoload

 

    [1] pry(main)> Conversation 
    LoadError: Unable to autoload constant Conversation, expected .../application/app/lib/messages/conversation.rb to define it 
    [2] pry(main)> Messages::Conversation 
    => Messages::Conversation 

Ich habe auch ein Modell/Klasse Message ähnlich der oben Conversation genannt. Da ich Namespacing diese, warum ist immer noch auf der Suche nach Conversation in meinem Messages::Conversation Datei statt nur Conversation in app/models?

Hat es etwas mit einem messages Ordner und Message Modell zu tun? Wenn ich app/lib/messages/... zu app/lib/messages_test/... umbenenne, funktioniert alles wie erwartet.

+0

versuchen ':: Conversation' –

+0

Ich versuchte, und bekam die gleiche' LoadError: Kann nicht automatisch laden ... 'Fehler, dass es in' Nachrichten/Konversation sah – chrisjacob

+0

Können Sie die Dateipfade und Ordner hinzufügen? Ich wette, es ist ein Problem mit Ihren Dateipfaden. – Taysky

Antwort

0
Before 

# config/application.rb 
config.autoload_paths += Dir["#{config.root}/lib/**/"] 

After 

# config/application.rb 
config.autoload_paths += Dir["#{config.root}/app/models/"] 
config.autoload_paths += Dir["#{config.root}/lib/**/"] 

Überprüfen Sie Ihre config/application.rb und sehen Sie, ob es funktioniert, wenn Sie diese Anpassungen vornehmen. Nicht 100% sicher, ob es funktioniert.

+0

Das Nachher ist eigentlich, wie meine 'autoload_paths' eingerichtet wurden, bevor ich auf dieses Problem stieß. Leider behebt keiner von denen es. – chrisjacob