10988


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

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

[code]

    git push heroku master
    
[/code]

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

[code]

    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.
    
[/code]

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

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

[code]

    # 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'
    
[/code]

こちらがroutesです．

[code]

                  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
    
[/code]

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


CC BY-SA 3.0
2015-06-04T13:28:55.390
10980
2015-06-04T22:10:04.403
9996
question
ruby-on-rails ruby heroku devise
Heroku + rails4.2 + Deviseで本番環境，ログアウト画面に遷移する際にエラー


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>


CC BY-SA 3.0
2015-06-04T22:10:04.403
10988
2015-06-04T22:10:04.403
85
10980
answer