Przeprowadziłem renowację kontrolerów, wprowadzając modele żądania i odpowiedzi, aby wykonać niektóre działania związane z kontrolerami po tym presentation. Zapakowałem wszystkie modele odpowiedzi i żądania z modułami odpowiednio: Odpowiedzi i Wnioski. Aplikacje działają perfekcyjnie, ale po uruchomieniu testów pojawia się błąd poniżej.RuntimeError: Wykryto zależność kołową przy automatycznym ładowaniu automatycznym
Failure/Error: Unable to find matching line from backtrace
RuntimeError:
Circular dependency detected while autoloading constant Responses::FolderContentResponse
Moja struktura katalogów jest następująca:
- APP/
- Modele/
- ODPOWIEDZI/
Note: Widziałem pytania związane z tym problemem, ale ich problemy nie wydawały się podobne do moich. W moim przypadku dzieje się to losowo, i tylko podczas wykonywania testów (RAILS TEST ENV), aplikacja działa idealnie.
module Responses
class ContentResponse
include ActiveAttr::Model
#some attributes
#some methods
end
end
module Responses
class FolderContentResponse < ContentResponse
end
end
Klasa reakcji FolderContent dziedziczy ContentResponse które ma bardziej ogólne metody że FolderContent inne zawartość odpowiedzi użyciu.
można zapewnić minimalny przykład (np plik folder_content_response.rb, ze wszystkiego, co nie ma wpływu na błąd zdjęta)? –
@Fredrich folder_content_response.rb to tylko stara klasa ruby Z kilkoma metodami. Nie sądzę, aby implementacja w tej klasie miała coś wspólnego z tym, dlaczego nie jest ona ładowana automatycznie. Więcej tylko podczas uruchamiania testów. Poddałem edycji pytanie z odrobiną kodu klasy –
Howabout content_response.rb? czy istnieje jakiś kod nie w definicjach metod (tj. który działa, gdy klasa jest ładowana)? –