Подтвердить что ты не робот

Проблема Heroku: страница, которую вы искали, не существует

Я следовал за книгой до тех пор, пока не закончилась глава 5, и она работает нормально на моей рабочей станции Linux когда я нажимаю на Хероку, все данные толкаются правильно, но когда я пытаюсь открыть 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'

Любые идеи, что может быть неправильным?

@odin вот мои журналы heroku, спасибо

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
4b9b3361

Ответ 1

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

config.assets.compile = false

к

config.assets.compile = true

зафиксировать новое изменение. Тогда мое приложение-образец отлично работает на heroku

Ответ 2

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

Ответ 3

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

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

heroku run rake db:setup

а затем

heroku rake db:migrate

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

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

config.assets.compile = true

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

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

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

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

3. Другой причиной может быть герой rake db: migrate, проверьте, выполнили ли вы это

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

group :development do 
    gem 'sqlite3'        
end

group :production do    
    gem 'pg'
    gem 'rails_12factor'
    gem 'heroku-deflater'   
end

Ответ 8

У меня была очень похожая проблема с герокой, я нашел ответ на этот вопрос:

Маршруты RefineryCMS для домашней страницы не работают

Чтобы сохранить чтение, решение было обновить "Домой" с помощью дополнительных опций, возникает вопрос:

"Переслать эту страницу на другой сайт или страницу"

Заполните это с помощью /, и оно должно работать. Это звучит немного назад, поскольку его фактическая настройка /my _page перенаправляется на "/". Но способ думать об этом:

Расширение страниц НПЗ ищет страницу с URL-адресом '/' на главной странице. Поэтому, указав страницу "Домой", которую вы хотите, иметь URL-адрес '/' вы устанавливаете его как окончательную домашнюю страницу, как что касается расширения страниц НПЗ. (цитата из @Philip Arndt)

Ответ 9

Поэтому мне пришлось работать в этом порядке, и это сработало для меня

$ heroku rake db:migrate
$ heroku run rake db:setup

Ответ 10

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

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

ruby ​​ "2.4.1"

Ответ 11

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

appname.herokuapp.com/route

Ответ 12

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

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

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

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

Ответ 13

Я столкнулся с той же ошибкой, потому что я протолкнул ту же ветвь, не являющуюся хозяином, к хозяину heroku с помощью этой команды git push heroku master. Которые явно вызывают конфликты.

Я также проверил маршруты, используя heroku run rake routes. Но на выходе не было моих реальных маршрутов. Даже не один.
Правильный способ подтолкнуть вашу неосновную ветвь к хозяину герою - это

git push -f heroku your_branch_name:master