Herokuへのデプロイに関する問題に関する投稿が多数ありますが、私の場合の解決策を見つけることができませんでした。任意の入力をいただければ幸いです。
ローカルで正常に動作するブログアプリケーションがあります。ただし、Herokuにデプロイすると、「申し訳ありませんが、問題が発生しました」と返されます。
私が持っている宝石は次のとおりです。
group :development do
gem 'sqlite3', '1.3.5'
end
group :production do
gem 'pg', '0.12.2'
end
私が取った手順は次のとおりです。
git add.
git commit -am "latest update"
git push
git push heroku
rake db:migrate
heroku run rake db:migrate
Railsコンソールから最新のブログエントリ(Blog.find(21))を見つけることができるため、SQLite3データベースは正常に移行しています。ただし、Herokuコンソールが返すため、データはHerokuデータベースに移行されていないようです。
"ActiveRecord::RecordNotFound: Couldn't find Blog with id=21."
さらに、「herokuログ」は次のことを検出します。
Completed 500 Internal Server Error in 50ms
NoMethod Error (undefined method 'blogs' for nil:NilClass):
app/controllers/static_pages_controller.rb:8:in 'home'
これは、static_pages_controllerに問題がある可能性があることを意味しますか、それともデータベースが正しく移行されていないためにエラーを返すだけですか?
以下は私のstatic_pagesコントローラーで、ローカルサーバーで正常に動作します。
class StaticPagesController < ApplicationController
def home
if signed_in?
@blog = current_editor.blogs.build
end
@editor = Editor.first
@blogs = @editor.blogs.paginate(page: params[:page])
end
end
注:私(つまり、editor_id:1)が私のブログの唯一の編集者になるため、上記のEditor.firstを使用しています。password_digestを保存するためのエディターモデルを作成しました。
では、なぜ私のアプリケーションがHerokuにデプロイされないのですか?
フィードバックをいただければ幸いです。また、追加のファイルを表示する必要がある場合はお知らせください。添付します。
本当にありがとう!