2
0

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 3 years have passed since last update.

[Rails] 投稿した内容が表示されない時の問題点の洗い出し方

Posted at

初めまして!駆け出しエンジニア真っ只中のゆーとです :)

今回はエラーが出てないにもかかわらず投稿した内容が表示されない時の洗い出し方の一例について、 アウトプットも兼ねて説明したいと思います!

なにぶん絶賛初学者なので、お手柔らかにご指摘して頂くと幸いです🙇‍♂️

##データベースをチェックしましょう

これで、データがデータベースに保存される過程で問題が発生しているのか、データを取り出して表示する過程で問題が発生してるのかをある程度搾り込むことができます。

####データベースに投稿データが保存されてない場合

params(入力された情報を持ってる箱)にしっかり情報が入っているか確認をします。

[確認の手順]
binding.pryを入力データが送られるはずのアクションにかける
    ↓
試しに何か投稿してみる
    ↓
コマンドラインで、paramsコマンドをうつ&paramsの投稿内容が入ってるか見る
 
これでparamsに情報が入ってない場合はデータが正しく送られず、情報がデータベースに行く過程で何か問題が発生していることになります。

あとこのデータベースに保存されてないパターンであるのが
paramsの中にモデル名がついた箱があるパターン

これは、paramsの中にさらに鍵のかかった箱がある状態で、この鍵を開けない限りデータベースに情報を送ることが出来ません。

その対策として
params.require(:モデル名).permit(:受け取るカラム名)
のrequireメソッドがあり、これによって鍵を開けてデータを送信出来る状態にすることができます

*requireメソッドは本来、params内の特定のキー(情報)のみを受け取るよう制限をかけるメソッドです

####データベースに投稿データが保存されている場合

この場合はコントローラーに情報が渡される過程で問題が発生してるか、ビューファイルのコードのミスでデータベースのデータを表示できない可能性が大です。


以上、投稿が表示されない際の大まかな問題点の洗い出し方を書き出してみました。

2
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?