2015-12-19 6 views
0

Я новичок в Ruby on Rails и после руководства по Ruby On Rails от Michael Hartl. Я нахожусь в главе 9, и все отлично работает в разработке - все тесты проходят, и я могу открывать и перемещать приложение. Однако, когда я пытаюсь открыть в производстве (Heroku), приложение аварийно завершает работу. Вот сообщение об ошибке консоли Heroku:требуют: нет такого файла для загрузки - test_helper (LoadError) происходит только в производстве, а не в разработке

/app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:274:in `require': No such file to load -- test_helper (LoadError) 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:274:in `block in require' 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:274:in `require' 
from /app/app/helpers/sessions_helper_test.rb:1:in `<top (required)>' 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:274:in `require' 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:274:in `block in require' 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:240:in `load_dependency' 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:274:in `require' 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:360:in `require_or_load' 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:317:in `depend_on' 
from /app/vendor/bundle/ruby/2.0.0/gems/activesupport-4.2.2/lib/active_support/dependencies.rb:233:in `require_dependency' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:472:in `block (2 levels) in eager_load!' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:471:in `each' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:471:in `block in eager_load!' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:469:in `each' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:469:in `eager_load!' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/engine.rb:346:in `eager_load!' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/application/finisher.rb:56:in `each' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:30:in `instance_exec' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:30:in `run' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:55:in `block in run_initializers' 
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each' 
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component' 
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from' 
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component' 
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each' 
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component' 
from /app/vendor/ruby-2.0.0/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/initializable.rb:54:in `run_initializers' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/application.rb:352:in `initialize!' 
from /app/config/environment.rb:5:in `<top (required)>' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/application.rb:328:in `require' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/application.rb:328:in `require_environment!' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:142:in `require_application_and_environment!' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:67:in `console' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 
from /app/vendor/bundle/ruby/2.0.0/gems/railties-4.2.2/lib/rails/commands.rb:17:in `<top (required)>' 
from /app/bin/rails:9:in `require' 
from /app/bin/rails:9:in `<main>' 

я получаю такое же сообщение, если я пытаюсь

rails s -e production 

Я подтвердил, что мой файл test_helper.rb действительно в моей тестовой папке. Любая помощь оценивается.

ответ

1

Это удар в темноте, но вам нужно, чтобы ваш test_helper находился где-то еще в вашем приложении? От чтения backtrace кажется, что вы требуете его в app/app/helpers/sessions_helper_test.rb.

Кроме того, app/app/ выглядит рыбным. У вас есть папка приложения внутри папки вашего приложения? Это тоже может быть проблемой.

+0

Благодарим вас за то, что указали мне в правильном направлении. Фактически, что случилось, у меня была копия session_helper_test.rb в папке app/helpers. Он не должен был быть здесь, а должен был быть только в тестовой папке. Теперь, благодаря вам, я могу больше понять эти длинные сообщения об ошибках. – user2884789

+0

Рад помочь! Ура! :-) –

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

  • Нет связанных вопросов^_^