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

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

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

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

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

173閲覧

AWSでデプロイをできるようにしたい

pag_jiro

総合スコア10

Ruby on Rails

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

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2024/04/04 11:20

編集2024/04/04 14:01

実現したいこと

AWSで設定し、webサーバーに自作ページが表示されるように設定したい。

前提

・自作ページはrails で記載しています。
・ローカルではページが表示できています。
・nginxの起動(自動起動も)済み
・puma起動済み

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

特定のページに行くと下写真が表示されます。
イメージ説明

ログの内容更新しました

[ec2-user@ip-172-31-12-75 inugo]$ sudo tail -f log/production.log [cd036ade-25f6-4fd1-a83b-78f41a15569e] I, [2024-04-04T13:29:47.676781 #8398] INFO -- : [b4a92c44-5c12-4a6e-bb88-03685c4236da] Started GET "/node/kor/113/main" for 87.246.7.86 at 2024-04-04 13:29:47 +0000 F, [2024-04-04T13:29:47.677283 #8398] FATAL -- : [b4a92c44-5c12-4a6e-bb88-03685c4236da] [b4a92c44-5c12-4a6e-bb88-03685c4236da] ActionController::RoutingError (No route matches [GET] "/node/kor/113/main"): [b4a92c44-5c12-4a6e-bb88-03685c4236da] I, [2024-04-04T13:42:01.034595 #8398] INFO -- : [3d70abee-76af-4431-81f2-7876531099a8] Started GET "/" for 193.3.23.126 at 2024-04-04 13:42:01 +0000 I, [2024-04-04T13:42:01.035322 #8398] INFO -- : [3d70abee-76af-4431-81f2-7876531099a8] Processing by User::HomesController#top as HTML I, [2024-04-04T13:42:01.035929 #8398] INFO -- : [3d70abee-76af-4431-81f2-7876531099a8] Rendered user/homes/top.html.erb within layouts/application (Duration: 0.0ms | Allocations: 4) I, [2024-04-04T13:42:01.037546 #8398] INFO -- : [3d70abee-76af-4431-81f2-7876531099a8] Rendered layout layouts/application.html.erb (Duration: 1.7ms | Allocations: 908) I, [2024-04-04T13:42:01.037733 #8398] INFO -- : [3d70abee-76af-4431-81f2-7876531099a8] Completed 200 OK in 2ms (Views: 2.0ms | Allocations: 1212) I, [2024-04-04T13:51:24.250612 #8398] INFO -- : [a4507957-060f-4fdf-a356-013417cdbf7b] Started GET "/users/sign_in" for 14.11.8.34 at 2024-04-04 13:51:24 +0000 I, [2024-04-04T13:51:24.251385 #8398] INFO -- : [a4507957-060f-4fdf-a356-013417cdbf7b] Processing by User::SessionsController#new as HTML I, [2024-04-04T13:51:24.253149 #8398] INFO -- : [a4507957-060f-4fdf-a356-013417cdbf7b] Rendered user/sessions/new.html.erb within layouts/application (Duration: 0.6ms | Allocations: 384) I, [2024-04-04T13:51:24.254614 #8398] INFO -- : [a4507957-060f-4fdf-a356-013417cdbf7b] Rendered layout layouts/application.html.erb (Duration: 2.1ms | Allocations: 1240) I, [2024-04-04T13:51:24.254791 #8398] INFO -- : [a4507957-060f-4fdf-a356-013417cdbf7b] Completed 200 OK in 3ms (Views: 2.5ms | Allocations: 1867) I, [2024-04-04T13:51:25.756831 #8398] INFO -- : [2e81664e-e4ca-4161-91d5-6ebd2f0cbe52] Started GET "/shops/accommodation" for 14.11.8.34 at 2024-04-04 13:51:25 +0000 I, [2024-04-04T13:51:25.757571 #8398] INFO -- : [2e81664e-e4ca-4161-91d5-6ebd2f0cbe52] Processing by User::ShopsController#accommodation as HTML I, [2024-04-04T13:51:25.765147 #8398] INFO -- : [2e81664e-e4ca-4161-91d5-6ebd2f0cbe52] Completed 500 Internal Server Error in 7ms (ActiveRecord: 1.0ms | Allocations: 1136) F, [2024-04-04T13:51:25.765816 #8398] FATAL -- : [2e81664e-e4ca-4161-91d5-6ebd2f0cbe52] [2e81664e-e4ca-4161-91d5-6ebd2f0cbe52] NoMethodError (undefined method `shops' for nil:NilClass @shops = target_genre.shops ^^^^^^): [2e81664e-e4ca-4161-91d5-6ebd2f0cbe52] [2e81664e-e4ca-4161-91d5-6ebd2f0cbe52] app/controllers/user/shops_controller.rb:5:in `accommodation' I, [2024-04-04T13:51:27.628818 #8398] INFO -- : [84cdd216-809e-43c6-86a9-4ebefc52e6c9] Started GET "/shops/shopping_mall" for 14.11.8.34 at 2024-04-04 13:51:27 +0000 I, [2024-04-04T13:51:27.629557 #8398] INFO -- : [84cdd216-809e-43c6-86a9-4ebefc52e6c9] Processing by User::ShopsController#shopping_mall as HTML I, [2024-04-04T13:51:27.632454 #8398] INFO -- : [84cdd216-809e-43c6-86a9-4ebefc52e6c9] Completed 500 Internal Server Error in 3ms (ActiveRecord: 0.6ms | Allocations: 1037) F, [2024-04-04T13:51:27.633118 #8398] FATAL -- : [84cdd216-809e-43c6-86a9-4ebefc52e6c9] [84cdd216-809e-43c6-86a9-4ebefc52e6c9] NoMethodError (undefined method `shops' for nil:NilClass @shops = target_genre.shops ^^^^^^): [84cdd216-809e-43c6-86a9-4ebefc52e6c9] [84cdd216-809e-43c6-86a9-4ebefc52e6c9] app/controllers/user/shops_controller.rb:11:in `shopping_mall'

上記を見るに、
・ActionControllerルーティングエラーが/node/kor/113/mainにでている
・accommodationとshopping_mallのshops_controller.rbにあるshopsがnilだということ
が主な原因だと思うのですが、
ローカル(rails s)では問題なく表示されており、rails c でデータが入っているか確認しましたら、しっかり入っていました。

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

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

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

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

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

yu_1985

2024/04/04 11:48

どのようにデプロイしたのか記述してください。 また、エラーログの内容について調べてみましたか?
winterboum

2024/04/04 12:16

app/controllers/user/shops_controller.rb で FAITL してますから、その codeを載せてください。 もしかしたら それを呼んでる viewなどのcodeも必要になるかも、ですが。 あと、 安定して運用ができるようになるまでは debugモードのlogにしておくほうがよいかも、です
pag_jiro

2024/04/04 12:22

返信ありがとうございます。 デプロイ手順は下記になります。 githabからrailsアプリを取得⇒master.key・.envをアップロード⇒Nginxの設定ファイルを編集⇒ウェブサーバーを再起動⇒puma起動 エラーログに関しては、 NoMethodErrorはコントローラー記載部分の'shops'がnilということ、 RoutingError に関してはルーティングの内容に不備かあるということでしょうか? しかし、ローカルでは問題なく動いていたのにwebサーバーではエラーは発生するというのが理解しがたく思っています。
yu_1985

2024/04/04 12:24

流れを言葉で記述するだけでなく具体的にコマンドレベルの記述をしてください
pag_jiro

2024/04/04 12:38

返信ありがとうございます。 下記のような形でしょうか? Cloud9から秘密鍵をEC2サーバーに送る (cloud9) $ scp -i ~/.ssh/practice-aws.pem ~/.ssh/id_rsa ec2-user@IPアドレス:.ssh/id_rsa ↓ githabからrailsアプリを取得 (EC2) $ git clone GitHubのリポジトリのURL ↓ master.keyのアップデート(cloud9) $ scp -i ~/.ssh/practice-aws.pem .env ec2-user@IPアドレス:GitHubのリポジトリ名/ ↓ .envのアップデート(cloud9) $ scp -i ~/.ssh/practice-aws.pem .env ec2-user@IPアドレス:GitHubのリポジトリ名/ をアップロード ↓ Nginxの設定ファイルを編集(EC2) $ udo vi /etc/nginx/nginx.conf ↓ ウェブサーバーを再起動(EC2) $ sudo systemctl restart nginx ↓ puma起動(EC2) $ rails s -e production
winterboum

2024/04/04 13:09

app/controllers/user/shops_controller.rb を載せてよ
pag_jiro

2024/04/04 13:11

返信ありがとうございます。 下記、app/controllers/user/shops_controller.rb の内容です。 class User::ShopsController < ApplicationController def accommodation target_genre = Genre.find_by(name: "宿泊施設") @shops = target_genre.shops @revue = Revue.new end def shopping_mall target_genre = Genre.find_by(name: "ショッピングモール") @shops = target_genre.shops @revue = Revue.new end def activity target_genre = Genre.find_by(name: "アクティビティ") @shops = target_genre.shops @revue = Revue.new end def show end end
guest

回答1

0

ベストアンサー

おそらく
Genreってマスターだと思うのですが、そのデータが入っていないのでしょう。
もしくは
(shopping_mall や activity でエラーが起きて居ないなら)
Genre.find_by(name: "宿泊施設") のレコードが載っていない

投稿2024/04/04 13:24

winterboum

総合スコア23351

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

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

pag_jiro

2024/04/04 13:35

回答ありがとうございます。 ログを見ると確かに、shopping_mall や activity では起きていないのですが、 その場合だとローカルで表示する場合でも宿泊施設のページだけ表示されない気がします。(記述は同じようなコード&データはseed.rbに全て格納済み) rails seedはしていますので、rails c→Shop.allで確認してみてもデータは入っています。
winterboum

2024/04/04 13:58

Shop.all ではなく Genre.all です
pag_jiro

2024/04/04 14:03

返信ありがとうございます。 失念していました。下記Genre.all の内容です。 3.1.2 :001 > Genre.all (0.5ms) SELECT sqlite_version(*) Genre Load (0.1ms) SELECT "genres".* FROM "genres" => ing via S [#<Genre:0x00007f5946859430 id: 1,01 > name: "宿泊施設", created_at: Thu, 21 Mar 2024 19:48:53.728896000 JST +09:00, updated_at: Thu, 21 Mar 2024 19:48:53.728896000 JST +09:00>, #<Genre:0x00007f594681ad48 id: 2, name: "ショッピングモール", created_at: Thu, 21 Mar 2024 19:48:53.749879000 JST +09:00, updated_at: Thu, 21 Mar 2024 19:48:53.749879000 JST +09:00>, #<Genre:0x00007f594681aaf0 id: 3, name: "アクティビティ", created_at: Thu, 21 Mar 2024 19:48:53.763834000 JST +09:00, updated_at: Thu, 21 Mar 2024 19:48:53.763834000 JST +09:00>] また、少し質問内容を編集しましたので確認いただけたらと思います。
pag_jiro

2024/04/04 14:18

再度返信失礼します。 実は前に一度デプロイをしていて、その後にJSのコード部分を触っていてそれの変更のプリコンパイルをしたらshops内容は解決しました! 別の箇所でもエラーが発生しているので別ページで質問させて頂きたいと思います。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問