Учебник demo_app не будет работать на герою - PullRequest
2 голосов
/ 21 октября 2011

Я пытаюсь запустить вторую главу demo_app из учебника по Ruby on Rails 3 по Heroku, но она не работает. gws-demp-app.heroku.com предоставляет страницу Rails по умолчанию, а gws-demo-app.heroku.com/users - веб-страницу с надписью «Извините, но что-то пошло не так». На моем рабочем столе все работает нормально. Я использую инструменты из RailsInstaller.org.

У меня были проблемы с heroku rake db:migrate в конце главы, так как я не нашел activerecord-postgresql-adapter, поэтому я сделал install gem pg, bundle install и обновил Gemfile и репозитории. Все на github на https://github.com/gwshaw/demo_app.

Похоже, такая же проблема появляется в https://stackoverflow.com/questions/7619551/heroku-rake-dbmigrate-success-but-not-showing-in-app Я попытался heroku restart, рекомендованный там, но это вызывает: Перезапуск процессов ... C: /RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb: 6 44: in `initialize ': getaddrinfo: Такой хост не известен. (SocketError)

Я попробовал то, что, как утверждается, работает, предварительно скомпилировав ресурсы с bundle exec rake assets:precompile, но это выдает ошибку: C: /RailsInstaller/Ruby1.9.2/bin/ruby.exe C: /RailsInstaller/Ruby1.9.2/bin/rake как устанавливает: прекомпиляция: все RAILS_ENV = производство RAILS_GROUPS = активы грабли прерваны! TypeError: Object не поддерживает это свойство или метод (в C: /Sites/rails_projects/demo_app/app/assets/javascripts/application.js)

Я новичок в рубине и рельсах, поэтому я в растерянности. Есть идеи?

Решено ниже.

Ответы [ 3 ]

3 голосов
/ 30 декабря 2011

Да, у меня это тоже сработало после установки pg gem, я запустил следующее:

bundle exec rake assets:precompile
git add .
git commit -am "add a note reflecting changes made"
git push
heroku create
git push heroku master
heroku rake db:migrate
heroku db:push

после вызова этих команд я смог успешно открыть demo_app на heroku.

0 голосов
/ 17 декабря 2011

Проблема с bundle exec rake assets:precompile была ключевой и решалась здесь. Прекомпиляция ресурсов RoR завершается ошибкой, когда ресурсы рейка: прекомпиляция - в основном пустом приложении. Js

Как ни странно, Heroku не будет автоматически прекомпилировать ресурсы на git push heroku и, следовательно, не найдет их. Я не думаю, что этот маленький demo_app даже использует ресурсы, поэтому, возможно, поэтому он не прекомпилировался, но все равно не смог найти applicaiton.css и потерпел неудачу. Как только я установил config.log_level = :debug в production.rb, я увидел проблему в логах. С прекомпиляцией, работающей из-за вышеуказанного исправления, все работало.

0 голосов
/ 16 декабря 2011

Спасибо за ваш пост - я новичок в Rails, но чтение вашего поста помогло мне с очень похожей проблемой. Вот что сработало для меня:

Установите pg gem для использования postgreSQL в Heroku: ( статья по теме )

sudo gem install pg

Установите гем taps, чтобы разрешить отправку вашей локальной базы данных в Heroku: ( статья по теме )

gem install taps

затем следующая последовательность…

bundle exec rake assets:precompile
git add .
git commit -am "add a note reflecting changes made"
git push
heroku create
git push heroku master
heroku rake db:migrate
heroku db:push

Если у вас все еще проблемы, эти статьи также полезны:
Переполнение стека - команда Heroku: Heroku Rake db: выполнить миграцию не удалось
Heroku - Начало работы с Rails 3.0 на Heroku / Cedar

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