2011-10-19 25 views
2

私はHerokuを新しくしました。私はHerokuに簡単なテスト用のRails 3.1.1アプリを公開しようとしました。 「新しい」Railsアプリテンプレートから私が作成した唯一の変更は、ホームコントローラを作成し、ルートをhome#indexにすることでした。私はすべてが正常に現れたことを確認するためにデータベースの移行とテストを実行できるように、私も簡単なテストアプリケーションがHerokuにデプロイされますが、実行されません

rails g scaffold Mark type:string start_time:datetime end_time:datetime subject:string measure:float special_event:boolean flag:boolean in_progress:boolean 

を走りました。私はこのためHerokuのチュートリアルに従っ

source 'http://rubygems.org' 

gem 'rails', '3.1.1' 

group :development do 
    gem 'sqlite3' 
end 

group :production do 
    gem 'pg' 
end 

group :assets do 
    gem 'sass-rails', '~> 3.1.4' 
    gem 'coffee-rails', '~> 3.1.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

:私が作った最後の変更は、次のようになりますGemfileにしました。プッシュはうまくいった、エラーは報告されなかった。私はheroku rake db:migrateheroku addons:add loggingに走った。私はまた、public/index.htmlをアプリから削除しました。私はrails serverとローカルでアプリを実行すると、正常に動作します。また、スキャフォールドごとに手動で「マーク」インデックスに移動することもできます。

heroku openを実行すると、標準We're sorry, but something went wrong. Railsページが表示されます。 heroku logsは何も私に何も示していない。

私はここで間違っていますか?これはテストケースと同じくらい簡単ですが、新しいアプリの作成、このアプリの削除と再試行、別のアプリのデプロイなどの作業を何時間もしてもうまくいきません。

+0

英雄ログには何もありませんか?あなたは少なくともあなたが作っているリクエストを見るべきです。 –

+0

何もありません。私は 'heroku logs'と入力して一時停止し、次のコマンドプロンプトが表示されます。 – Clay

+0

私はHerokuサポートに連絡します - 何かがここにないです。 –

答えて

2

ここで問題となるのは、Rails 3.1のアセットパイプラインは、heroku createを実行したときのデフォルトのBamboo-mri-1.9.2で「すぐに」機能しないということです。

ソリューションはheroku create --stack cedarを行い、その後、プッシュすることです - すべての後、罰金になります:)

+0

注意、あなたはcedarに移行するときにheroku rake db:migrateを実行する必要があります。火をつけるとhttp://glowing-stone-9665.herokuapp.com/marksになります。 –

+0

ありがとう!私はその問題が何だったのか分かりませんでした。 – Clay

1

rails new stackoverflow 
cd stackoverflow/ 
git init 
git add . 
git commit -m 'all' 
git remote add origin [email protected]:noahc/stackoverflow.git #you'll need to change this 
git push origin master 
heroku create 
git push heroku master 
heroku open 

これがうまくいかない場合は、ローカルマシンと関係があります。私はちょうどこれを実行し、それは私の最後に動作します。参照:http://gentle-dawn-1050.heroku.com。これが失敗しなければ、私はGemFileに変更を加え、あなたがそれを失敗させることができるかどうかを見ます。

+0

うーん...それは動作します。私のHeroku acctをもう一度やり直し、もう一度マイグレーションしてバニラアプリで試してみましょう。 – Clay

+0

移行を追加して 'heroku rake:db:migrate'を実行すると、移行がうまくいくように見えます。 「ヒロクが開いている」と私は「We're sorry ...」ページをもう一度表示します。私のgemファイルにはデフォルトのソース行 'gem 'rails'、 '3.1.1''と' gem' pg''だけが含まれています。 'pg'はデータベースアダプタとして使う正しい宝石ではありませんか?ここにはレポがあります: 'https:// github.com/ccheaton/herokutest' – Clay

0

私は同じ問題を抱えていました。あなたの問題の一番下にあるようですが、今後の問題を抱える人にとっては、ローカルアプリケーション用のデータベースとライブアプリケーションの後ろのデータベースとの間に矛盾が生じる可能性があることを指摘したいと思います。私が適切に移行しなかったため、私の場合、ローカルデータベースにデータが格納され、Herokuサイトが空になりました。

この問題は、端末で「rake db:reset」を実行したとき(ローカルアプリケーションのデータベース内のすべてのデータを消去する)に明らかになりました。その後、コード内のバグを簡単に見つけることができました。

結論:データベースの情報がごくわずかである場合は、展開したサイトにはまだデータがない可能性があり、そのような例外を適切に処理しない.......

関連する問題