Sto cercando di eseguire il capitolo due demo_app dail libro di tutorial di Ruby on Rails 3 su Heroku e non funziona. gws-demp-app.heroku.com fornisce la pagina predefinita di Rails, ma gws-demo-app.heroku.com/users dà una pagina web che dice "Siamo spiacenti, ma qualcosa è andato storto". Sul mio desktop funziona sto usando gli strumenti di RailsInstaller.org.
Ho avuto problemi con heroku rake db:migrate
alla fine del capitolo non trovo l'adattatore activerecord-postgresql così l'ho fatto install gem pg
, bundle install
e aggiornato il Gemfile e i repository. Tutto è in github a https://github.com/gwshaw/demo_app.
Quello che sembra lo stesso problema appare a https://stackoverflow.com/questions/7619551/heroku-rake-dbmigrate-success-but-not-showing-in-app
Provai heroku restart
consigliato lì, ma che provoca: Riavvio dei processi ... C: /RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb: 6 44: in "initialize": getaddrinfo: nessun host di questo tipo è noto. (SocketError)
Ho provato ciò che è richiesto per funzionare, precompilare le risorse con bundle exec rake assets:precompile
, ma questo genera un errore: C:/RailsInstaller/Ruby1.9.2/bin/ruby.exe C: /RailsInstaller/Ruby1.9.2/bin/rake as set: precompilare: all RAILS_ENV = production RAILS_GROUPS = assets rastrello abortito! TypeError: Object non supporta questa proprietà o metodo (in C: /Sites/rails_projects/demo_app/app/assets/javascripts/application.js)
Sono nuovo di rubino e rotaie quindi sono in perdita. Qualche idea?
Risolto di seguito.
risposte:
3 per risposta № 1Sì, questo ha funzionato anche per me dopo aver installato il pg gem, ho eseguito quanto segue:
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
dopo aver richiamato questi comandi, sono stato in grado di aprire con successo la demo_app su heroku.
0 per risposta № 2
Grazie per il tuo post: sono nuovo di Rails, ma leggere il tuo post mi ha aiutato con un problema molto simile. Ecco cosa ha funzionato per me:
Installa pg gem per usare postgreSQL su Heroku: (articolo correlato)
sudo gem install pg
Installa tap gem per consentire l'invio del tuo database locale a Heroku: (articolo correlato)
gem install taps
quindi la seguente sequenza ...
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
Se hai ancora problemi, anche questi articoli sono utili:
Stack Overflow - comando Heroku: Heroku Rake db: migrate fallisce
Heroku - Iniziare con Rails 3.0 su Heroku / Cedar
0 per risposta № 3
Il problema con bundle exec rake assets:precompile
era la chiave e viene risolto qui Le attività di precompilamento RoR falliscono durante il rake delle risorse: precompilare - praticamente su application.js vuoto
Stranamente, Heroku non avrebbe precompilato automaticamente le risorse su a git push heroku
e quindi non li troverebbe. Non penso che questo piccolo demo_app usi anche risorse, quindi potrebbe essere il motivo per cui non è stato precompilato, ma non è stato possibile trovare applicaiton.css
e fallito. Una volta impostato config.log_level = :debug
in production.rb, ho potuto vedere il problema nei log. Con il precompilare a causa della correzione sopra, tutto ha funzionato.