2014-03-31 5 views
16

사용자가 서로 피드백을 남길 수있는 Customer_ratings 모델이 있습니다. 웹 응용 프로그램이 제대로 작동하고 피드백이 수집, 저장 및 표시됩니다. 레일 콘솔 : 자동로드 할 수 없습니다.

내가 가서 레일 콘솔을 통해 몇 가지 피드백을 삭제하고 싶었지만 내가 Customer_rating.all를 입력 할 때, 나는 다음과 같은 오류 얻을 : 나는 Customer_rating을 입력하면 [0], 내가 얻을 마찬가지로

LoadError: Unable to autoload constant Customer_rating, expected /Users/myapps/app/models/customer_rating.rb to define it 

를 :

RuntimeError: Circular dependency detected while autoloading constant Customer_rating 

내 콘솔을 통해 다른 테이블에 액세스하는 동안이 문제가 발생하지 않습니다.

무엇이 문제의 원인 일 수 있으며이 오류로 인해 Web_apps를 통해 Customer_ratings가 제대로 작동하지 않을 수 있습니까?

+0

나는 문제의 부부는 여기에서 볼 수 좋아한다 예를 들어, 모듈

의 이름을 수정해야합니다. 채팅에 대해 토론 해 보겠습니다. http://chat.stackoverflow.com/rooms/48530/ror –

+0

참고 : 모든 상수는 [CamelCase] ​​(http://en.wikipedia.org/wiki/CamelCase)이어야합니다. 'CustomerRating'을 호출 –

답변

35

엉망인 이름 지정 규칙의 경우처럼 보입니다. Rails 명명 규칙으로 당

파일 이름snake_case클래스 이름 CamelCase에서에 있어야합니다. 시나리오에서 파일 이름은 customer_rating.rb이어야하며 클래스 이름은 CustomerRating이어야합니다.

이러한 변경을 수행 한 후 CustomerRating.all (업데이트 된 클래스 이름은 CustomerRating)을 사용하여 모든 고객 등급을 가져옵니다. Customer_rating.all을 사용하지 마십시오.

+1

CustomerRating.all 대 Cutomer_rating.all이 문제였습니다. 감사! – dmt2989

+0

도와 드리겠습니다. –

+0

"Live long and prosper" –

6

나중에 참조 할 수 있도록이 문제의 시나리오를 추가하고 싶습니다.

저는 레일즈 4.0을 실행하고 있는데도 똑같은 문제가있었습니다.하지만 Student라는 폴더에 Student.rb라는 이름의 Student라는 모델이있었습니다. 나는 처음에는 그것을 깨닫지 못했지만 폴더 이름이 문제였습니다. 폴더 이름을 모델 이름이 아닌 다른 것으로 변경하면 문제가 해결됩니다. 링크가 http://sairam.esy.es/users/customer_rating 경우

+0

고마워, 친절한 선생님! – doug

-1

당신은 다음 컨트롤러가

Module Users 
Class RatingController 
... 
.. 
def customer_rating 
.. 
.. 
end 
end 

+0

이것은 Ruby 구문이 아닙니다. – Houen

관련 문제