![見出し画像](https://assets.st-note.com/production/uploads/images/142703014/rectangle_large_type_2_ba50f1b2d6dfb6633f72d2789fe1369d.png?width=1200)
Photo by
moyow
PicTweet Railsのエラーを解消しよう
Railsのエラー画面
デバッグ
デバッグとは、プログラムの誤り(バグ)を見つけて、手直しすることです。
>>デバッグ作業に便利なpry-railsというGemを利用
binding.pry(バインディングプライ)
binding.pryは、pry-railsを追加すると扱えるようになる機能
binding.pryという記述をソースコードの中にすると、binding.pryが存在する箇所でRailsの処理を一時停止し、その状態でコンソールを起動
Gemfileに以下の記載があるか確認
gem 'pry-rails'
あった!
createアクション内にbinding.pryを記述
app/controllers/tweets_controller.rbファイルへ
~省略~
def create
binding.pry ←ここ
Tweet.create(tweet_params)
end
~省略~
>>binding.pryという文字列を記述した上でローカルサーバーを立ち上げる
binding.pryを記述したのはツイートを作成する部分の処理
・わざとエラー設定した
ツイートを投稿してみる
通常通り、ツイートを投稿し、createアクションを実行
↓
SENDボタンを押すと、処理が停止
「投稿完了ページ」へ遷移せずに、タブを確認すると下記の画像のようにロードのアイコンが回っている状態になっていれば成功
ターミナルを確認しよう
[1] pry(#<TweetsController>)> params
=> <ActionController::Parameters {"authenticity_token"=>"7imvHaB3Z9fle2uEDeNY5mBJebreoWRs6Scs8zcEHuL5FHWhXS8eOpX8Db8i13SGuV1F8T9fTbgSCuBFkrOmDQ==", "tweet"=>{"image"=>"", "text"=>"aaa"}, "commit"=>"SEND", "controller"=>"tweets", "action"=>"create"} permitted: false>
検証が済んだら binding.pryを削除して保存しておく