質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ルーティング

ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

1589閲覧

本番環境下でのルーティングエラー

isso3

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ルーティング

ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

1クリップ

投稿2020/04/27 22:40

前提・実現したいこと

awsを使ってアプリを作成中。
デプロイ後に出てくるエラーを直してトップページまたは新規登録画面に行きたい。

発生している問題・エラーメッセージ

Railsでデプロイ後にWe're sorry, but something went wrong.
If you are the application owner check the logs for more information.と、エラーが発生しました。ログを確認すると

I, [2020-04-15T06:47:56.909332 #2485] INFO -- : [ea02e019-d7da-4f41-8c5f-88f004bf8979] Started GET "/" for 153.239.131.8 at 2020-04-15 06:47:56 +0000 F, [2020-04-15T06:47:56.910812 #2485] FATAL -- : [ea02e019-d7da-4f41-8c5f-88f004bf8979] F, [2020-04-15T06:47:56.910862 #2485] FATAL -- : [ea02e019-d7da-4f41-8c5f-88f004bf8979] ActionController::RoutingError (No route matches [GET] "/"): F, [2020-04-15T06:47:56.910887 #2485] FATAL -- : [ea02e019-d7da-4f41-8c5f-88f004bf8979] F, [2020-04-15T06:47:56.910925 #2485] FATAL -- : [ea02e019-d7da-4f41-8c5f-88f004bf8979] actionpack (5.0.7.2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call'

と出てルーティングエラーなのは分かったのですが、ローカル環境では問題なく動いています。

該当のソースコード

ルーティング

routes

1Rails.application.routes.draw do 2 devise_for :users 3 4 root to: 'top#top' 5 resources :result, only: [:show, :new, :create, :edit] 6 get "/:id/beginner", to: "result#beginner" 7 post "/:id/beginner", to: "result#create_beginner" 8 patch "/result", to: "result#update" 9end

top_controller.rb

class TopController < ApplicationController def top if user_signed_in? user = Saving.find_by(user_id: current_user) if user != nil redirect_to result_path(current_user.id) else redirect_to "/#{current_user.id}/beginner" end else redirect_to new_user_registration_path end end end

試したこと

ルーティングの本番環境下でのエラーが初めてで検索しても全く情報が出てこなかったのでお手上げです。ただ単にルーティングエラーっぽいですがマージした後なのでそこが問題あると思うのですが、何が間違っているのかが分からないです。ただFailed to load resource: the server responded with a status of 500 (Internal Server Error)と出ているので文法エラーなのは間違いなさそうです。

マージした所で関係ありそうな所も載せておきます。

ルーティング

Rails.application.routes.draw do devise_for :users root to: 'top#top' - resources :result, only: [:show, :new, :create] - get "/beginner", to: "result#beginner" - post "/beginner", to: "result#create_beginner" + resources :result, only: [:show, :new, :create, :edit] + get "/:id/beginner", to: "result#beginner" + post "/:id/beginner", to: "result#create_beginner" + patch "/result", to: "result#update" end

top_controller.rb

class TopController < ApplicationController def top if user_signed_in? - redirect_to result_path(current_user.id) + user = Saving.find_by(user_id: current_user) + if user != nil + redirect_to result_path(current_user.id) + else + redirect_to "/#{current_user.id}/beginner" + end + else + redirect_to new_user_registration_path end end end

補足情報(FW/ツールのバージョンなど)

Rails version 5.0.7.2
Ruby version 2.5.1
unicorn 5.4.1
capistrano version 3.13.0

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ActionController::RoutingError (No route matches [GET] "/"):

なので、railsが認識しているroutes.rbがおかしいような気がします。

もしかしたらdeploy手順(スクリプト)にバグがあってtouch tmp/restart.txtが必要かもしれません。

投稿2020/04/28 08:57

asm

総合スコア15149

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問