George Shaw
George Shaw

Reputation: 1781

Tutorial demo_app won't work on heroku

I'm trying to run the chapter two demo_app from the Ruby on Rails 3 Tutorial book on Heroku and it is not working. gws-demp-app.heroku.com gives the default Rails page, but gws-demo-app.heroku.com/users gives a web page that says "We're sorry, but something went wrong." On my desktop it works fine. I'm using the tools from RailsInstaller.org.

I had problems with heroku rake db:migrate at the end of the chapter not finding the activerecord-postgresql-adapter so I did install gem pg, bundle install, and updated the Gemfile and repositories. Everything is on github at https://github.com/gwshaw/demo_app.

What looks like the same problem appears at https://stackoverflow.com/questions/7619551/heroku-rake-dbmigrate-success-but-not-showing-in-app I tried heroku restart recommended there, but that causes: Restarting processes... C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb:6 44:in `initialize': getaddrinfo: No such host is known. (SocketError)

I tried what is claimed to work, precompiling assets with bundle exec rake assets:precompile, but that generates an error: C:/RailsInstaller/Ruby1.9.2/bin/ruby.exe C:/RailsInstaller/Ruby1.9.2/bin/rake as sets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets rake aborted! TypeError: Object doesn't support this property or method (in C:/Sites/rails_projects/demo_app/app/assets/javascripts/application.js)

I'm new to ruby and rails so I'm at a loss. Any ideas?

Solved below.

Upvotes: 2

Views: 3736

Answers (3)

MO12
MO12

Reputation: 31

Yes , this worked for me too after installing the pg gem, I ran the following:

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

after invoking these commands, I was able to successfully open the demo_app on heroku.

Upvotes: 3

George Shaw
George Shaw

Reputation: 1781

The problem with bundle exec rake assets:precompile was the key and is solved here RoR Precompiling Assets fail while rake assets:precompile - on basically empty application.js

Oddly, Heroku wouldn't automatically precompile the assets on a git push heroku and thus would not find them. I don't think this little demo_app even uses assets, so that may be why it didn't precompile, but it still could not find applicaiton.css and failed. Once I set config.log_level = :debug in production.rb, I could see the problem in the logs. With the precompile working due to the above fix, everything worked.

Upvotes: 0

rgunderson
rgunderson

Reputation: 1

Thanks for your post — I'm new to Rails, but reading your post helped me with a very similar issue. Here's what worked for me:

Install pg gem to use postgreSQL on Heroku: (related article)

sudo gem install pg

Install taps gem to allow push of your local database to Heroku: (related article)

gem install taps

then the following sequence…

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

If you're still having trouble, these articles are helpful too:
Stack Overflow - Heroku command: Heroku Rake db:migrate fails
Heroku - Getting Started with Rails 3.0 on Heroku/Cedar

Upvotes: 0

Related Questions