Ho rifattorizzato i miei controller introducendo i modelli di richiesta e risposta per fare parte della logica che si aggirava attorno ai controller seguendo questo presentation. Ho completato tutte le risposte e richiesto i modelli con un modulo Risposte e richieste rispettivamente. Le applicazioni funzionano perfettamente ma quando eseguo i test, visualizzo l'errore qui sotto.RuntimeError: Rilevata dipendenza circolare durante la costante di caricamento automatico
Failure/Error: Unable to find matching line from backtrace
RuntimeError:
Circular dependency detected while autoloading constant Responses::FolderContentResponse
La mia struttura di directory è la seguente:
- APP/
- modelli/
- risposte/
Nota: Ho visto le domande legati a questo problema, ma i loro problemi non sembravano simili ai miei. Nel mio caso succede casualmente, e solo quando si eseguono i test (RAILS TEST ENV), l'applicazione funziona perfettamente.
module Responses
class ContentResponse
include ActiveAttr::Model
#some attributes
#some methods
end
end
module Responses
class FolderContentResponse < ContentResponse
end
end
La classe risposta FolderContent eredita da ContentResponse che ha metodi più generici FolderContent altre risposte di contenuto utilizzano.
Potete fornire un esempio minimo (ad esempio, il file folder_content_response.rb, con tutto ciò che non incide l'errore rimosso)? –
@Fredrich folder_content_response.rb è solo una vecchia classe di rubini Con un paio di metodi. Non penso che l'implementazione in questa classe abbia nulla a che vedere con il suo non essere caricato automaticamente. Ancora di più solo durante l'esecuzione di test. Ho modificato la domanda con un po 'di codice della classe –
Howabout content_response.rb? c'è qualche codice non nelle definizioni dei metodi (cioè che viene eseguito quando la classe è caricata)? –