Heroku에 배포 할 때 오류 status = 500 해결 예

소개



status=500의 에러가 일어나는 원인은 여러가지로 디버그에는 일고고하지만,
처음부터 앱을 다시 만들 때까지 기다려주세요! !

DB에 문제가 있고 디버깅 할 수없는 경우도 있으므로 다시 작성하지 않으면
그렇지 않을 수도 있습니다.

디버깅 할 수 없다고 판단 할 때까지 원인을 씻어 내고 오류를 해결하기 위해 노력합시다! !

이 기사는 어디까지나 status=500 오류의 예입니다.

버전



루비 버전 ruby-2.6.5
Rails 버전 Rails:6.0.0

전제



app/javascript/packs/application.js의 turbolinks 설명이 삭제되었습니다.

app/javascript/packs/application.js

省略

require("@rails/ujs").start()
// require("turbolinks").start()// ←この行を削除する
require("@rails/activestorage").start()
require("channels")

省略


결론



app/views/layouts/apprication.html.erb의 turbolinks 설명을 모두 삭제하면 오류가 해결되었습니다.

(변경 전)

app/views/layouts/apprication.html.erb

〜省略〜

    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>

〜省略〜




(변경 후)

app/views/layouts/apprication.html.erb

〜省略〜

<%= stylesheet_link_tag 'application', media: 'all' %>
<%= javascript_pack_tag 'application' %>

〜省略〜


오류 내용



① Heroku에 배포하고 heroku open 한 순간 오류가 발생했습니다.



② 로그를 확인하면 status=500의 적자가 간헐적으로 출현.
$ heroku logs --tail --app praise-homekata


오류의 원인



application.js에서 turbolinks 설명을 삭제해도 turbolinks 화면 전환을 가속화하는 효과는 남아 있습니다.
그 때문에, 자신이 기술하고 있던 코드의 이펙트가 turbolinks의 효과의 합치고, 잘 읽히지 않고 이번의 에러가 일어났다고 생각됩니다.

이상입니다.

좋은 웹페이지 즐겨찾기