0

さて、私はRails 4th Edition(Rails 3.2以降)を使用したアジャイルWeb開発をフォローしており、デプロイメントを含む第16章に進んでいます。ほとんどの部分をフォローしましたが、herokuを使用したいので、先に進んでアプリをherokuにデプロイすることにしました。次の手順に従います。https : //devcenter.heroku.com/articles/rails3herokuのデプロイに取り掛かりました。しかし、私がアプリにアクセスしたとき:

heroku open

このエラーが発生しました:

We're sorry, but something went wrong.

したがって、実行後:

heroku logs

これが問題の原因であるエラーであることに気づきました。

2012-07-25T19:41:16+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::Error: ERROR:  relation "carts" does not exist
2012-07-25T19:41:16+00:00 app[web.1]:              WHERE a.attrelid = '"carts"'::regclass
2012-07-25T19:41:16+00:00 app[web.1]:               FROM pg_attribute a LEFT JOIN pg_attrdef d
2012-07-25T19:41:16+00:00 app[web.1]: :             SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
2012-07-25T19:41:16+00:00 app[web.1]:                AND a.attnum > 0 AND NOT a.attisdropped
2012-07-25T19:41:16+00:00 app[web.1]:              ORDER BY a.attnum
2012-07-25T19:41:16+00:00 app[web.1]: ):

さて、herokuの指示に従いながら、gemfileの2つだけを変更しました。最初に私は変更しました:

gem 'sqlite3'

に:

gem 'pg'

そして私も追加しました:

ruby '1.9.3' 

ファイルの先頭にあります。ただし、エラーが「PG」にあるため、エラーが発生したと想定し、「sqlite3」gemを「pg」に変更しました。私はsqlite3でアプリを開発したので、これがエラーの原因であると思います。これを検証しようとして、「pg」を「sqlite3」に戻し、「バンドルインストール」を実行しました。ただし、そうすると、次のエラーが発生しました。

Gemfile syntax error:
  gem 'sass-rails',   '~> 3.2.3'

'pg'に戻すと、このエラーはなくなります。誰かがここで初心者を助けてください。アプリをherokuにデプロイしたときに機能しなかったのはなぜですか。また、「herokuログ」で見つかったエラーの意味は何ですか。ありとあらゆる入力を歓迎します。

4

1 に答える 1

1

走ったことがありますか

heroku run rake db:migrate

そうしないと、データベースにテーブルがないため、関連付けがありません。

于 2012-07-26T18:07:25.493 に答える