Heroku + rails4.2 + Deviseで本番環境,ログアウト画面に遷移する際にエラー

投稿者: Anonymous

rails4.2 + Deviseで,本番環境のみで発生するエラーです.

rake assets:precompile
でプリコンパイル後に

git push heroku master

で立ち上げると,ログイン画面が表示されるところまでは確認しました.
ログイン後,ログアウトを図ると

The page you were looking for doesn't exist.
You may have mistyped the address or the page may have moved.
If you are the application owner check the logs for more information.

というエラーが吐かれてしまいます.

こちらがGemfileの一部抜粋になります.

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'                                                              
gem 'rails', '4.2.1'
# Use sqlite3 as the database for Active Record                                                                              
group :development do
  gem 'sqlite3'
end
group :production do
  gem 'pg'
  gem 'rails_12factor'
end

# devise and admin                                                                                                           
gem 'devise'
gem 'rails_admin'

# devise-bootstrap                                                                                                           
gem 'devise-bootstrap-views'
gem 'devise-i18n'
gem 'devise-i18n-views'

こちらがroutesです.

              Prefix Verb   URI Pattern                    Controller#Action
    new_user_session GET    /users/sign_in(.:format)       devise/sessions#new
        user_session POST   /users/sign_in(.:format)       devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format)      devise/sessions#destroy

/users/sign_outの際に上記のエラーが起きています.
なお,localの環境下では正常にlogin,logoutの動作が確認できています.
確認すべき箇所,提示したコード以外に必要なコード等ありましたらご指摘をお願いします.
よろしくお願いします.

解決

JavaScriptが正常に読み込まれていないのが原因だと思います。

git push heroku masterすると自動的にassets precompileされるはずなのでローカルでassets precompileする必要はないはずです。
むしろ、(今回のような)予期せぬトラブルの原因になるのでしない方がいいでしょう。

ローカルにpublic/assetsディレクトリはありませんか?
もしあればそのディレクトリを削除して、git commitしてください。
それからgit push heroku masterすれば、Heroku上で正常にJSが読み込まれると思うのですが、いかがでしょうか?

それでもダメな場合はHerokuのヘルプをしっかり読んでいって、手順が間違っていないかチェックしてみてください。

https://devcenter.heroku.com/articles/getting-started-with-rails4

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *