2010-01-29 5 views
1

내가 전체 레일 멍청하다고 말하면서 머리말을 붙이겠습니다.rake db : migrate 실행시 초기화되지 않은 상수 ActionController

방금 ​​마이그레이션을 작성했지만 rake db:migrate --trace을 실행하려고하면이 오류가 발생합니다. t.authenticatable이 어디에서 오는지 여기 내 20100129183653_change_agent_staff.rb

class ChangeAgentStaff < ActiveRecord::Migration 
    def self.up 
    change_table :agent_staff do |t| 
     t.authenticatable 
     t.timestamps 
    end 
    end 

    def self.down 

    end 
end 

라는 마이그레이션이 나를 미치게된다 이는

(in /home/dkerschner/hsp-agent) 
** Invoke db:migrate (first_time) 
** Invoke environment (first_time) 
** Execute environment 

rake aborted! 
uninitialized constant ActionController 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in `load_missing_constant' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:in `const_missing' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:92:in `const_missing' 
/var/lib/gems/1.8/gems/devise-0.9.1/lib/devise/rails/routes.rb:1 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
/var/lib/gems/1.8/gems/devise-0.9.1/lib/devise/rails.rb:1 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
/var/lib/gems/1.8/gems/devise-0.9.1/lib/devise.rb:229 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:36:in `require' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
/home/dkerschner/hsp-agent/config/environment.rb:9 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in' 
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
/var/lib/gems/1.8/gems/rails-2.3.5/lib/tasks/misc.rake:4 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain' 
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `each' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain' 
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling' 
/var/lib/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run' 
/var/lib/gems/1.8/gems/rake-0.8.7/bin/rake:31 
/var/lib/gems/1.8/bin/rake:19:in `load' 
/var/lib/gems/1.8/bin/rake:19 

나는 devise를 사용하려고 해요! 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

2

이전에 이것을 다시 만들려고했으나 마이그레이션에는 문제가 없습니다. 문제는 다른 곳에서 발생하며 앱이 어딘가에서 오류를 일으킬 수 있는지 알아야 할 수도 있습니다. 스크립트/서버를 시작하고 해당 페이지를 볼 수 있는지 또는 오류가 발생했는지 확인하십시오.

신청서는 어느 정도입니까? 그것이 상당히 새로운 경우 (그리고 유효한 레일 2.3.5 설치를 알고 있다면) 처음부터 다시 시도해 볼 수 있습니다. devise로 인증을 설정하고 명령을 문서화하십시오. 그런 다음 입력 한 모든 명령과 코드를 실패 지점까지 게시하면 문제를 더 잘 진단 할 수 있습니다.

나는 이것을 복제하려고 시도했기 때문에 장치 설정자를 사용하거나 수동으로 작성하는 데 너무 많은 다른 방법이 있었고 처음부터 작성한 도구를 사용한 후 사용자 모델이 이미 생성되었습니다.

편집 : 현재로서는 change_table에 기고 할 권한이 없습니다. 당신이 직접 참조하는 열을 추가해야합니다.

+0

나는 이것을 알아 냈지만 그 문제가 무엇인지 잊어 버렸습니다. 그러나 관련 iirc를 고안했다. 그것은 내가 잘못 설정 한 것일뿐입니다. 내가 무엇을 적어줬으면 좋겠다 : - \ – baudtack

+1

오! 나는 그것이 무엇인지 기억한다. devise를 사용하면 create_table에 대해서만 change_table에 대한 t.authenticatable이 없습니다. t.authenticatble에서 참조하는 열을 수동으로 추가하여 수정했습니다. – baudtack