【質問です!】【Rails】【Heroku】デプロイするたび謝られてしまいます...。
Q&A
Closed
解決したいこと
プログラミング初学者です。
Ruby on Rails 5.2で動画投稿アプリを作成しました。
AWS Cloud9上では問題なく動きます。
けれども、herokuにデプロイ出来ません...。
下記が出ます。
どなたか、解決方法を教えて下さいますでしょうか?!
発生している問題・エラー
ターミナルでログをみますと、
$heroku logs
下記となります。
2020-10-13T02:30:37.979714+00:00 heroku[router]: at=info method=GET path="/users/sign_in" host=xxxx.herokuapp.com request_id=762c7ca8-678b-44a8-b0ca-cf0d579a1632 fwd="120.74.2.98" dyno=web.1 connect=1ms service=5ms status=500 bytes=1827 protocol=https
2020-10-13T02:30:38.237435+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=xxxx.herokuapp.com request_id=8d065b24-10ac-49c2-be51-fbd31830510e fwd="120.74.2.98" dyno=web.1 connect=1ms service=4ms status=304 bytes=48 protocol=https
status=500:Internal Server Errorのようですが、対処法が分かりません。
status=304:未更新。対処法が分かりません。
参照: [よく見るHTTPステータスコードをまとめてみました]
(https://qiita.com/a24dai/items/73d6a7ae1f7ef45832ce)
該当するソースコード
Rails.application.routes.draw do
root to: 'home#top'
devise_for :users
delete 'users/:id' =>'users#destroy'
get 'home/greeting'=>'home#greeting'
get 'home/how_to'=>'home#how_to'
get 'contacts/new'=>'contacts#new'
resource :user, except: [:new, :create, :destroy ]
resources :contacts, only: [:new, :create ]
resources :movies do
resource :favorites, only: [:create, :destroy]
end
end
class MoviesController < ApplicationController
before_action :authenticate_user!
def index
@movies= Movie.all.order(id: :DESC)
end
def show
@movie = Movie.find(params[:id])
end
def new
@movie = Movie.new
end
def create
@movie = Movie.new(movie_params)
@movie.user_id = current_user.id
if @movie.save
redirect_to movie_path(@movie), notice: '投稿に成功しました。'
else
render :new
end
end
def edit
@movie = Movie.find(params[:id])
if @movie.user_id != current_user.id
redirect_to movies_path, alert: '不正なアクセスです。'
end
end
def updated
@movie = Movie.find(params[:id])
if @movie.update(movie_params)
redirect_to movie_path(@movie), notice: "更新に成功しました。"
else
render :edit
end
end
def destroy
movie = Movie.find(paramas[:id])
movie.destroy
redirect_to movies_path
end
private
def movie_params
params.require(:movie).permit(:name, :datetime, :place, :movie_url, :self_comment)
end
end
<!DOCTYPE html>
<html>
<head>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
<script src="https://kit.fontawesome.com/6ec9fba7ef.js" crossorigin="anonymous"></script>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<%= link_to '波 のりくらべ', root_path, class: "navbar-brand" %>
<button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#Navber" aria-controls="Navber" aria-expanded="false" aria-label="ナビゲーションの切替">
<span class="navbar-toggler-icon"></span>
</button>
<% if user_signed_in? %>
<div class="collapse navbar-collapse" id="Navber">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<%= link_to '新規投稿', new_movie_path, class: "nav-link" %>
</li>
<li class="nav-item">
<%= link_to '投稿一覧', movies_path, class: "nav-link" %>
</li>
<li class="nav-item">
<%= link_to "ログアウト", destroy_user_session_path, method: :delete, class: "nav-link" %>
</li>
<% else %>
<li class="nav-item">
<%= link_to 'ログイン', new_user_session_path, class: "nav-link" %>
</li>
<li class="nav-item">
<%= link_to '新規登録', new_user_registration_path, class: "nav-link" %>
</li>
<% end %>
<li class="nav-item">
<%= link_to 'ご挨拶', '/home/greeting', class: "nav-link" %>
</li>
<li class="nav-item">
<%= link_to '投稿方法', '/home/how_to', class: "nav-link" %>
</li>
<li class="nav-item">
<%= link_to "お問い合わせ", new_contact_path, class: "nav-link" %>
</li>
</ul>
</div>
</nav>
<% if flash[:notice] %>
<div class="alert alert-primary" role="alert"><strong><%= notice %></strong></div>
<% end %>
<% if flash[:alert] %>
<div class="alert alert-danger" role="alert"><strong><%= alert %></strong></div>
<% end %>
<div class= "main-contents">
<%= yield %>
</div>
<footer>
<p><small class="text-muted">Copyright 2020 MTK Corp. All Rights Reserved.</small></p>
</footer>
</html>
#上からここまで省略
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'gmail.com',
user_name: 'XXXX@gmail.com',
password: 'XXXX',
authentication: 'plain',
enable_starttls_auto: true
}
end
自分で試したこと
$ heroku run rails db:migrate
結果:変わらず。
参照:【Rails】環境開発で出ない500エラーが本番環境で発生
$ heroku addons:create heroku-postgresql:hobby-dev
$ heroku run rails db:migrate
結果:変わらず。
参照:Heroku トラブル「We're sorry, but something went wrong」と言われたら
$ heroku restart --app application_name
$ heroku restart web.1 --app application_name
結果:変わらず。
参照:HerokuでApplicationErrorが発生したときの対処法
以上、よろしくお願い致します!!