カリキュラム以外のことをやろうとすると凡ミスが多発する
57日目です。
本日は初歩的なミスに何時間も苦しみました。
1. binding.pryができない
- Gemfileに「gem 'pry-rails'」を追加し「bundle install」
- 「さあ、binding.pry使ってデバッグすっぞ!」
- エラーメッセージ発生「pryって何?tryの間違いか?」
- バグを解決したいのにデバッグのエラーのために悶え苦しむ
、、、bundle installのあとはサーバー再起動を絶対に忘れないようにしましょう😭
2. 「uninitialized constant」に苦しむ
これはコントローラーだけ作成してモデルの作成(rails g model モデル名)をし忘れた結果出たエラーです。
最初に必要だと思ったモデルは全て作成していたのですが、途中で新しいコントローラーの作成の必要が生じてコントローラーだけしか作るのを忘れていました。
3. データベースに登録はできるが、情報を持ってこれない
これは配列で取ってきたものを配列のまま使っていることが原因でした。
def index @records = Record.where(user_id: 5) end
上記のようにコントローラーにて、DBから配列で取得してきているのにも関わらず、
<%= @records.day_hour %>
ビューファイルにて配列のままrecordsテーブルのday_hourカラムの情報を取ってこようとしてました。
もし上記のコントローラのように定義したのであれば、ビューファイルは下記のようにすべきでした。
<% @records.each do |record| %> <%= record.day_hour %> <% end %>
こんな初歩的なミスで恐ろしいほど時間を無駄にして苦しみました。
(binding.pryは自分で気づきましたが、他の二つは優秀な同期にヒントをもらって解決しました。)
振り返れば「なんでこんなことで躓いたのだろう」という気持ちですが、自分で気づかない辺り、基礎がまだまだだなと痛感しました。
個人アプリ製作4日目でしたが、投稿通り進まず、、、
本当に完成すんのか?と思いつつ、オリジナルの機能の実装は諦めたくないので後3日頑張ります。