'heroku open' failed - таблица не содержит ошибок в журналах

Редактировать:

Пытаясь получить эту работу, я полностью прокомментировал нарушающую factory_girl - и она все еще дает ту же ошибку -

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

running 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 '</top></top></top><main><code>'
</code> <p> Файл, бросающий ошибку заводской девушки:</p> <pre class="prettyprint linenums">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'
2 ответа

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


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

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

licensed under cc by-sa 3.0 with attribution.