2010-01-29 6 views
1

Позвольте мне предисловие к этому, сказав, что я полный рельс noob.uninitialized constant ActionController при работе rake db: migrate

Я только что написал миграцию, но когда я пытаюсь запустить rake db:migrate --trace, я получаю эту ошибку.

(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 который где 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 

Это сводит меня с ума! Что я делаю не так?

ответ

2

Я попытался воссоздать это раньше, и это не проблема в вашей миграции. Проблема в другом месте, и вы можете захотеть, можете ли вы заставить приложение ошибиться в другом месте. Запустите сценарий/сервер и посмотрите, можете ли вы просмотреть эти страницы или возникла ошибка.

Как далеко продвигается ваше приложение? Если он довольно новый (и вы знаете, что у вас есть действующие рельсы 2.3.5), вы можете попробовать начать с нуля. Настройте аутентификацию с помощью устройства, документируйте свои команды по ходу. Затем опубликуйте все команды и код, которые вы ввели до отказа, и мы сможем лучше диагностировать проблему.

Я прошу об этом, потому что, как я пытался дублировать, было слишком много разных способов установить это - с помощью генераторов разработки или вручную и с помощью разработки с самого начала и наложения на нее после модель пользователя уже создана.

Редактировать: В настоящее время нет t.authenticable для разработки в change_table. Вы должны вручную добавить столбцы, на которые это ссылается.

+0

Я все-таки понял это, но я забыл, в чем проблема. Однако это было связано с iirc. Это было то, что я неправильно настроил. Хотелось бы, чтобы я записал: - \ – baudtack

+1

OH! Я помню, что это было. При разработке не существует t.authenticatable для change_table только для create_table. Я исправил это, вручную добавив столбцы, на которые ссылается t.authenticatble. – baudtack