0

은 후 내가고안 스택 레벨이 너무 깊이 오류

**rake db:migrate** 

를 실행하려고 고안를 설치하지만, 제공 :

**rake aborted! 
stack level too deep** 

내가 우분투에있어이

**ulimit -s unlimited** 

변경 확인했지만 작동하지만 여전히 오류가 있습니다.

나는, RVM레일 3.0.9로, Ruby1.9.2-P0 Ruby1.9.2-P180, 함께 일을하려고 사용 3.1rc4, Rubinius와 레일. 와 SQLite3 및 PostgreSQL을 사용해 보았습니다. 마이그레이션 파일에서 가능한 한 주석 처리를 제거하려고 시도했습니다.

모든 관련 Stackoverflow 게시물을 읽고 (실제로 내가 가진 것을 깨닫게 StackOverflow).

매우 도움이 될만한 도움이 될 것입니다. 많은 감사

+0

마이그레이션 파일과 관련된 모든 항목을 게시하는 데 도움이 될 수 있습니다. – Karl

답변

2

스택 레벨 너무 깊은 오류는 일반적으로 무한 재귀 문제로 인해 발생합니다.

새로운 답변 :

db : migrate 중에이 작업을 수행하는 것을 잊었습니다. 사용자 테이블 마이그레이션에서 뭔가에 의존하는 것이 있습니까?

올드 답변 :

당신이 유증에 대한 routes.rb 파일에 당신이 코드의 라인을 표시하는 것이 도움이 될 것입니다. 예를 들어 다음과 같을 수 있습니다.

devise_for :users, :controllers => { :registrations => "registration/foo" } 

이 예제에서는 foo_controller.rb의 새로운 방법을 살펴 보겠습니다. 이 메서드가 다시 등록하려고하는 다른 컨트롤러로 리디렉션되면 무한 재귀가 발생합니다.

내가해야 할 일은 컨트롤러에 일종의 디버그 출력을 넣어서 컨트롤러를 호출하는 것입니다. 시도 : 더 많은 정보를 제공 할 수있는 경우

logger.debug("i am in foo") 

또는

puts "i am in bar" 

, 내가 더 많은 도움을 줄 수 있습니다.

+0

완벽합니다. 많은 분들께 감사드립니다. Larry, 정말 저를 구 해주셔서 정말 기쁩니다. 이제 Devise로 해결 된 모든 문제가 맞습니다. 사용자/sign_in에 대한 루트 리디렉션과 같은 무한 루프였습니다. 감사 – YogiZoli

2

bundle exec rake db:migrate을 사용해 보셨습니까?

+1

예, 첫 번째 게시물로 해결되어 자체 참조되었습니다. 어쨌든 도움을 청합니다. – YogiZoli