2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWSで特定のページだけ「The page you were looking for doesn't exist...」の表示が出る

Posted at

ページが存在しない?

AWSでやっとこさデプロイし、トップページを開くと

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.

と、「ページが存在しませんよ。」というエラーが出てページが見られない問題に直面しました。

テーブル内の存在しないレコードを参照しようとしていた

原因はコントローラで

posts_controller.rb
def index
@fuga = Post.find(2)
end

と、postsテーブル内の(まだ存在しない)id 2のレコードを引っ張ってくるインスタンス変数を定義し、ビュー(トップページ)で

posts/index.html.haml
= image_tag (@fuga.image.url)

と記述していたからでした。

postsテーブルはユーザーによって投稿されたコンテンツを保存するためのテーブルであり、デプロイ完了時点でのpostsテーブル内のデータは当然空っぽです。その状態でid 2のレコードを引っ張ってこようとすると冒頭のエラーページが出てくるようです。(ローカルでは当該レコードは存在していて、ビューの表示は正常にできていたので盲点でした...)

@fugaを参照していないビューであれば普通に表示できたので、

会員登録ページからユーザーの新規登録

postsテーブルのid 2のレコードにデータが入るよう、投稿ページからコンテンツを2回投稿

で、ちゃんとトップページが表示されるようになりました。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?