2013-08-23 3 views
0

Edit:

При попытке получить эту работу, я закомментирована нарушителя factory_girl целиком - и это все еще дает ту же ошибку -`Heroku open` терпит неудачу - таблица не существует ошибка в логах

cannot load such file -- factory_girl_rails 
/app/lib/tasks/sample_data.rake:1:in require' 

есть ли что-то, что мне нужно сделать, чтобы герой работать с/видеть мои обновленные файлы?

OP:

heroku open возвращает We're sorry, but something went wrong. в браузере и следующие из heroku logs:

2013-08-23T21:18:48.870042+00:00 app[web.1]: Started GET "/" for 86.59.188.18 at 2013-08-23 21:18:48 +0000 
2013-08-23T21:18:49.388611+00:00 app[web.1]: 
2013-08-23T21:18:49.388611+00:00 app[web.1]: ActiveRecord::StatementInvalid (Mysql2::Error: Table 'heroku_9e0ff302f567892.users' doesn't exist: SHOW FULL FIELDS FROM `users`): 
2013-08-23T21:18:49.388611+00:00 app[web.1]: app/models/user.rb:52:in `authenticate_with_salt' 
2013-08-23T21:18:49.388611+00:00 app[web.1]: app/helpers/sessions_helper.rb:62:in `user_from_remember_token' 
2013-08-23T21:18:49.388611+00:00 app[web.1]: app/helpers/sessions_helper.rb:32:in `current_user' 
2013-08-23T21:18:49.388611+00:00 app[web.1]: app/helpers/sessions_helper.rb:13:in `logged_in?' 
2013-08-23T21:18:49.388611+00:00 app[web.1]: app/controllers/pages_controller.rb:32:in `home' 
2013-08-23T21:18:49.388611+00:00 app[web.1]: 
2013-08-23T21:18:49.388611+00:00 app[web.1]: 
2013-08-23T21:18:49.388906+00:00 app[web.1]: Processing by PagesController#home as HTML 
2013-08-23T21:18:49.388906+00:00 app[web.1]: Completed 500 Internal Server Error in 5ms 
2013-08-23T21:18:49.390347+00:00 heroku[router]: at=info method=GET path=/ host=shrouded-caverns-2325.herokuapp.com fwd="86.59.188.18" dyno=web.1 connect=2ms service=528ms status=500 bytes=643 

работает heroku run rake db:schema:load --trace возвращается:

rake aborted! 
cannot load such file -- factory_girl_rails 
/app/lib/tasks/sample_data.rake:1:in `require' 
/app/lib/tasks/sample_data.rake:1:in `<top (required)>' 
/app/vendor/bundle/ruby/2.0.0/gems/railties-3.2.13/lib/rails/engine.rb:425:in `load' 
/app/vendor/bundle/ruby/2.0.0/gems/railties-3.2.13/lib/rails/engine.rb:425:in `block in load_tasks' 
/app/vendor/bundle/ruby/2.0.0/gems/railties-3.2.13/lib/rails/engine.rb:425:in `each' 
/app/vendor/bundle/ruby/2.0.0/gems/railties-3.2.13/lib/rails/engine.rb:425:in `load_tasks' 
/app/vendor/bundle/ruby/2.0.0/gems/railties-3.2.13/lib/rails/application.rb:145:in `load_tasks' 
/app/vendor/bundle/ruby/2.0.0/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in `method_missing' 
/app/Rakefile:7:in `<top (required)>' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load_rakefile' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:637:in `raw_load_rakefile' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:94:in `block in load_rakefile' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:93:in `load_rakefile' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:77:in `block in run' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:75:in `run' 
/app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0/bin/rake:33:in `<top (required)>' 
/app/vendor/bundle/ruby/2.0.0/bin/rake:23:in `load' 
/app/vendor/bundle/ruby/2.0.0/bin/rake:23:in `<main>' 

Файл бросает ошибку завод девушка:

namespace :db do 

    desc "Fill db with sample data" 

    task :populate, :environment do 

    require 'factory_girl_rails' 

    ... 

    end 

end 

Gemfile:

source 'https://rubygems.org' 

gem 'rails', '3.2.13' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem "autotest" 
gem 'autotest-growl' 
gem 'webrat' 
gem "json", "~> 1.4" 
gem "thor", "~> 0.17.0" 
gem "cocoon" 
gem 'jquery_datepicker' 

#DB 

gem "mysql2" 
gem "pg" 

#GROUPS 

#development 

group :development do 

    gem "rspec-rails" 
    gem "annotate" 
    gem "faker" 

end 

#test 

group :test do 

    gem "rspec" 
    gem 'factory_girl_rails', :require => false 

end 


# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

# gem 'jquery-rails' (http://stackoverflow.com/a/17053795/2128691) 
gem 'jquery-rails', '~> 2.3.0' 
+0

У вас запущены миграции, выполнив: heroku run rake db: migrate –

+0

Да, такая же ошибка вывода, как 'rake db: schema: load' – dax

+0

Вы запустили' bundle install' в среде разработки, чтобы исправить 'Gemfile.lock' прежде чем ты подтолкнешься к Хереку? Если нет, попробуйте это. – Gene

ответ

0

потребовалось некоторое время, чтобы получить эту работу, но я наконец-то - чтобы решить эту конкретную часть головоломки, я добавил /lib и /spec к .slugignore - это, вероятно, не является ответом для всех, но на данный момент это хорошо для меня.

0

Причина его метания ошибка, потому что завод девушка рельсы только установить в режиме «тест». На heroku приложение обычно находится в режиме «производства», если вы не указали иначе. Я бы взял требование от населенной задачи. Также вам, вероятно, лучше создавать фабрики на основе теста на основе теста. См. https://github.com/thoughtbot/factory_girl/wiki/Usage

Другой вариант - установить заводскую девушку в рабочем режиме. Просто возьмите драгоценный камень «завод-девочка-рельсы» из тестовой группы.

+0

на самом деле я закомментировал factory_girl полностью - и это все еще дает ту же ошибку - 'не может загрузить такой файл - factory_girl_rails /app/lib/tasks/sample_data.rake:1:in' require'' является есть что-то, что мне нужно сделать, чтобы герою работать с моими обновленными файлами? – dax

Смежные вопросы