Проблема Heroku: страница, которую вы искали, не существует - PullRequest
24 голосов
/ 11 сентября 2011

Я следовал за книгой до тех пор, пока не закончилась глава 5, и она работает нормально на моей рабочей станции linux, когда я нажимаю на Heroku, все данные передаются правильно, но когда я пытаюсь открыть Heroku (http://vivid -sky-685.heroku.com)

Я получаю сообщение 404.

Страница, которую вы искали, не существует.Возможно, вы набрали неверный адрес или страница переместилась.

Ниже приведен мой Gemfile для заявки

source 'http://rubygems.org'
gem 'rails', '3.0.5'
gem 'sqlite3'

group :development do
  gem 'rspec-rails', '2.5.0'
end

group :test do
  gem 'rspec', '2.5.0'
  gem 'webrat', '0.7.1'
  gem 'spork', '0.9.0.rc4'
end

gem 'rake','~> 0.8.7'

Есть идеи, что может быть не так?

@ Один вот мой журнал героку, спасибо

2011-09-11T10:41:57+00:00 heroku[router]: GET vivid-sky-685.heroku.com/y dyno=web.1 queue=0 wait=0ms service=5ms status=404 bytes=728
2011-09-11T10:41:57+00:00 app[web.1]: 
2011-09-11T10:41:57+00:00 app[web.1]: 
2011-09-11T10:41:57+00:00 app[web.1]: Started GET "/y" for 93.186.31.80 at 2011-09-11 03:41:57 -0700
2011-09-11T10:41:57+00:00 app[web.1]: 
2011-09-11T10:41:57+00:00 app[web.1]: ActionController::RoutingError (No route matches "/y"):
2011-09-11T10:41:57+00:00 app[web.1]:   
2011-09-11T10:41:57+00:00 app[web.1]: 
2011-09-11T10:41:57+00:00 app[web.1]: 
2011-09-11T10:41:57+00:00 heroku[nginx]: 93.186.31.80 - - [11/Sep/2011:03:41:57 -0700] "GET /y HTTP/1.1" 404 728 "-" "Mozilla/5.0 (BlackBerry; U; BlackBerry 9300; en) AppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.546 Mobile Safari/534.8+" vivid-sky-685.heroku.com
2011-09-11T11:45:28+00:00 heroku[web.1]: Idl

2011-09-11T11:45:29+00:00 heroku[web.1]: State changed from up to down
2011-09-11T11:45:29+00:00 heroku[web.1]: State changed from down to created
2011-09-11T11:45:29+00:00 heroku[web.1]: State changed from created to starting
2011-09-11T11:45:30+00:00 heroku[web.1]: Stopping process with SIGTERM
2011-09-11T11:45:30+00:00 app[web.1]: >> Stopping ...
2011-09-11T11:45:30+00:00 heroku[web.1]: Process exited
2011-09-11T11:45:30+00:00 heroku[web.1]: Starting process with command `thin -p 16738 -e production -R /home/heroku_rack/heroku.ru start`
2011-09-11T11:45:33+00:00 app[web.1]: >> Thin web server (v1.2.6 codename Crazy Delicious)
2011-09-11T11:45:33+00:00 app[web.1]: >> Maximum connections set to 1024
2011-09-11T11:45:33+00:00 app[web.1]: >> Listening on 0.0.0.0:16738, CTRL+C to stop
2011-09-11T11:45:33+00:00 heroku[web.1]: State changed from starting to up
2011-09-11T12:53:00+00:00 heroku[web.1]: Idling
2011-09-11T12:53:01+00:00 heroku[web.1]: State changed from up to down
2011-09-11T12:53:02+00:00 heroku[web.1]: Stopping process with SIGTERM
2011-09-11T12:53:02+00:00 app[web.1]: >> Stopping ...
2011-09-11T12:53:02+00:00 heroku[web.1]: Process exited
2011-09-11T13:18:21+00:00 heroku[rake.1]: State changed from created to starting
2011-09-11T13:18:23+00:00 app[rake.1]: Awaiting client
2011-09-11T13:18:23+00:00 app[rake.1]: Starting process with command `bundle exec rake db:migrate`


2011-09-11T13:18:26+00:00 heroku[rake.1]: Process exited
2011-09-11T13:18:26+00:00 heroku[rake.1]: State changed from up to complete
2011-09-11T13:20:02+00:00 heroku[web.1]: Unidling
2011-09-11T13:20:02+00:00 heroku[web.1]: State changed from down to created
2011-09-11T13:20:02+00:00 heroku[web.1]: State changed from created to starting
2011-09-11T13:20:04+00:00 heroku[web.1]: Starting process with command `thin -p 48393 -e production -R /home/heroku_rack/heroku.ru start`
2011-09-11T13:20:06+00:00 app[web.1]: >> Thin web server (v1.2.6 codename Crazy Delicious)
2011-09-11T13:20:06+00:00 app[web.1]: >> Maximum connections set to 1024
2011-09-11T13:20:06+00:00 app[web.1]: >> Listening on 0.0.0.0:48393, CTRL+C to stop
2011-09-11T13:20:07+00:00 heroku[web.1]: State changed from starting to up
2011-09-11T13:20:07+00:00 app[web.1]: 
2011-09-11T13:20:07+00:00 app[web.1]: 
2011-09-11T13:20:07+00:00 app[web.1]: Started GET "/" for 118.137.144.220 at 2011-09-11 06:20:07 -0700
2011-09-11T13:20:08+00:00 app[web.1]: 
2011-09-11T13:20:08+00:00 app[web.1]: ActionController::RoutingError (uninitialized constant PagesController):
2011-09-11T13:20:08+00:00 app[web.1]:   
2011-09-11T13:20:08+00:00 app[web.1]: 
2011-09-11T13:20:08+00:00 app[web.1]: 
2011-09-11T13:20:08+00:00 heroku[router]: GET vivid-sky-685.heroku.com/ dyno=web.1 queue=0 wait=0ms service=403ms status=404 bytes=728
2011-09-11T13:20:08+00:00 heroku[nginx]: 118.137.144.220 - - [11/Sep/2011:06:20:08 -0700] "GET / HTTP/1.1" 404 728 "-" "Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20100101 Firefox/4.0" vivid-sky-685.heroku.com

Ответы [ 12 ]

27 голосов
/ 05 ноября 2014

Я знаю, что это старая проблема, но я тоже столкнулся с ней.Я понял, что не менял корневой маршрут в config/routes.rb до нажатия.Невозможность изменить его может привести к появлению страницы приветствия локально, но на сайте heroku появится сообщение об ошибке выше.

9 голосов
/ 25 сентября 2011

У меня такая же проблема;однако после изменения 1-строчного кода файла production.rb, расположенного в config/environments/production.rb, с

config.assets.compile = false

на

config.assets.compile = true

передайте новое изменение.Тогда мой пример приложения отлично работает на герою

7 голосов
/ 04 января 2014

Я использую postgresql, и у меня также не было страницы, отображаемой на heroku.

Эта команда исправила это:

heroku run rake db:setup

, а затем

heroku rake db:migrate

Я мигрировал раньше, но сначала не выполнил настройку.

Я также пытался установить

config.assets.compile = true

в production.rb, но это не имело значения.

4 голосов
/ 11 сентября 2011

Вы пробовали работать в производственном режиме локально?Попробуйте rails server -e production и посмотрите, получите ли вы ту же ошибку, которую затем можете отладить.Также убедитесь, что вы сделали heroku rake db:migrate.

2 голосов
/ 05 июня 2015

В моем случае это была пропущенная стартовая страница, которая не вызывала проблем в режиме разработки, но вызывала вышеуказанную проблему на heroku. Принятый ответ в этой теме проливает больше света.

1 голос
/ 04 сентября 2017

1.Всегда устанавливайте рут в маршрутах.Это рельсы 101

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

2.Как правило, я всегда запускаю rake assets:precompile перед нажатием на git.Пожалуйста, попробуйте это.а затем совершить коммит на git-репозиторий и затем на героку.Do heroku restart

3.Еще одной причиной может быть heroku rake db: migrate, пожалуйста, проверьте, сделали ли вы это

4.Также это моя установка Gemfile для групп разработки и производства

group :development do 
    gem 'sqlite3'        
end

group :production do    
    gem 'pg'
    gem 'rails_12factor'
    gem 'heroku-deflater'   
end
1 голос
/ 06 января 2017

Столкнулся и с этой проблемой.Решил это путем установки корневого маршрута.В моем случае, root 'pages#home' в config / rout.rb

Если корневой маршрут не задан, вы будете перенаправлены на localhost: 3000.Следовательно,

Страница, которую вы искали, не существует.Возможно, вы набрали неверный адрес или страница переместилась.

0 голосов
/ 06 сентября 2018

Я получил ту же ошибку, но понял, что я не изменил глагол HTML с GET на ROOT в файле config / rout.rb.

Это было get "/hello", to: "application#hello"

Я обновилroot "application#hello"

Затем я отправил его в Git и развернул его в производство.

0 голосов
/ 26 августа 2018

У меня была такая же проблема, но дело в том, что в приложении не хватает дома, как root. Домашняя страница по умолчанию для Heroku - это HTML страница по умолчанию . Но если вы попробуете все определенные маршруты, они будут работать так:

appname.herokuapp.com/route

0 голосов
/ 15 августа 2017

Укажите версию Ruby в приложении Rails 5, требуется Ruby 2.2.0 или выше.В Heroku по умолчанию установлена ​​последняя версия Ruby, однако точную версию можно указать с помощью ruby ​​DSL в вашем Gemfile.

В конце Gemfile добавьте:

ruby ​​"2.4.1"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...