2012-09-03 4 views
2

devise 1.1.rc0을 설치했으며 기존 애플리케이션에서 제대로 작동하지 않습니다.Devits를 재설치 할 수 없습니다.

버전을 지정하지 않고 gem 파일을 gem 'devise'으로 변경했습니다. Ran 번들 설치. 그런 다음 설치에 사용한 명령이므로 rail destroy devise_install을 실행하십시오. ,

gems/activerecord-3.2.8/lib/active_record/dynamic_matchers.rb:50:in method_missing': undefined method devise' for # (NoMethodError)*


라이언 Bigg 저 위의 오류가 고안에 대한 참조를 만드는 사용자 모델에 의해 발생 된 알아낼 도움 : 나는 rails generate devise:install와 reintall하려고 할 때

*는 그 다음 날이 오류를 제공합니다 제거 후 오류가 발생합니다. 그래서 나는 그 참조를 삭제했다.

이제이 오류가 있습니다.

보석/activesupport-3.2.8/lib 디렉토리/active_support/인플/methods.rb : 230 : 초기화되지 않은 상수 사용자 (나가서 설명하자면 NameError)이 참조 무엇

: constantize의 '블록'에?

답변

1

Devise가 구성되지 않았지만 모델이 참조하므로이 오류가 발생합니다. 전화를 참조하는 모든 모델에서 devise 메서드에 대한 호출을 제거하거나 주석 처리하십시오.

+1

감사합니다! 나는 사용자 모델 내에서 고안 할 참조를 제거했다. 이제 새로운 오류가 있습니다. gems/activesupport-3.2.8/lib/active_support/inflector/methods.rb : 230 :'block in constantize ': 초기화되지 않은 상수 User (NameError) 이게 무슨 의미입니까? –

+0

해당 오류에 대해 더 많은 스택 추적을 표시해야합니다. 이 문제에 대한 새로운 질문을하십시오. –

+2

config/routes.rb에서'devise_for : users'를 제거하고 명령을 다시 실행하면이 문제가 해결 된 것으로 나타났습니다. 이것은 주위에 거짓말을하고 있던 괴로움에 대한 이전의 시도에서 나온 것입니다. –

1

1.8.7 및 Rails 3.0.7에서 1.9.3 및 Rails 3.2.8로 업그레이드 할 때 동일한 문제가 발견되었습니다. 해결 방법은 다음과 같습니다. gem 'active_reload'