2009-09-26 3 views
0

내 레일 응용 프로그램 오이를 실행하고이 오류가 계속하려고 해요 :유형의 오류

> superclass mismatch for class Point (TypeError) 

이 오류에서 큰 스택 트레이스있다, 그러나 그것은 아무것도 가리 키지 않는 특정 요건을 충족하지 못합니다. 여기에 추적이있다 :


rake features (in /Users/rob/blue/blue_web) /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I "/Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/lib:lib" "/Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/cucumber" --color --tags [email protected] --strict --format pretty --drb features/manage_logins.feature WARNING: No DRb server is running. Running features locally: superclass mismatch for class Point (TypeError) /Users/rob/blue/blue_web/app/models/point.rb:1 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in polyglot_original_require' /Users/rob/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in require' /Users/rob/.gem/ruby/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:158:in require' /Users/rob/.gem/ruby/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:265:in require_or_load' /Users/rob/.gem/ruby/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:224:in depend_on' /Users/rob/.gem/ruby/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:136:in require_dependency' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:414:in load_application_classes' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:413:in each' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:413:in load_application_classes' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:411:in each' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:411:in load_application_classes' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:197:in process' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:113:in send' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:113:in run' /Users/rob/blue/blue_web/config/environment.rb:16 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in polyglot_original_require' /Users/rob/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in require' ./features/support/env.rb:7 /Library/Ruby/Gems/1.8/gems/spork-0.7.2/lib/spork.rb:14:in prefork' ./features/support/env.rb:4 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in polyglot_original_require' /Users/rob/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in require' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/rb_support/rb_language.rb:107:in load_code_file' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/rb_support/rb_language.rb:48:in step_definitions_for' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/step_mother.rb:90:in load_code_file' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/step_mother.rb:82:in load_code_files' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/step_mother.rb:81:in each' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/step_mother.rb:81:in load_code_files' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/cli/main.rb:46:in execute!' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/cli/main.rb:24:in execute' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/cucumber:9 rake aborted! Command failed with status (1): [/System/Library/Frameworks/Ruby.framework/...]

답변

1

나는이 문제에 대한 답을 발견, 그것은 MySQL의 지리 공간 플러그인 내 스키마 클래스 이름 충돌했다.

나는 Point라는 클래스를 가지고 있었고 모든 것이 행복했습니다. 그런 다음 mySQL의 지리 색인 기능을 사용하기 위해 (매우 멋진) geoSpatial 플러그인을 추가했습니다. 이 플러그인은 Point 클래스도 정의합니다.

충돌로 인해 오이가 실패했습니다.

자신의 응용 프로그램에서이 오류가 표시되면 중복 된 항목을 찾으십시오!

+2

어떤 종류의 절름발이 라이브러리가 클래스를 전역 범위에 추가합니까? 이것이 모듈과 네임 스페이스가 필요한 것입니다. –

+0

비슷한 문제점이 있습니다 (http://stackoverflow.com/questions/1736747/how-to-resolve-rails-model-namespace-collision) - 매우 귀찮습니다. 보석 제작자는 최상위 네임 스페이스가 어지럽히 지 않도록 각별한주의를 기울여야합니다. – zetetic

+0

네,하지만 네임 스페이스도 생성해야합니다. 잊지 마세요. 보석을 충분히 구성 할 수 있다면 문제가되지 않아야합니다. – Ghoti

관련 문제