ITとdesign エンジニアのブログ by エンジ庭

IT業界のトレンドなどIT分野について学んだ事を書いていきます。プログラミング技術などについて現在Qiitaメインに書いてますので、そちらを参照ください。  https://qiita.com/kota_sho

Railsでブログアプリ作ったはなし

Railsでブログアプリを作りました。

完成度は低いですが、なんとか作り上げました。

4~5日は掛かったかな。

 

実装内容は、

・ログイン、ログアウトできる

・記事投稿できる(当たり前)

・記事を一覧で表示(1ページ5記事までに設定)

・記事を編集、削除できる

という最低限の実装だけです。

それでも、時間は掛かったし途中で折れそうになりました。俺向いてないんじゃないかなって。

 

今回はその経験談、特に頭を悩ませたエラー内容について記していきます。

 

エラー内容

「投稿しても一覧ページに記事が表示されず、データベースにも反映されない」

 

これは、エラー文が出るわけでもなかったので大変でした。

 

原因:

モデルでアソシエーションを組む際に、user_idが認識されていなかった。

 なぜか。

記事の内容を格納するArticlesテーブルへuser_idカラムを追加する際、

use_idと誤った名前で作ってしまいました。しかしマイグレーションファイルを弄って痛い目にあった過去から、名前は変えずそのまま使うことにしました。

つまりコード内の記述もuse_idに合わせて作業を進めました。

しかし、実際にはアソシエーションを組む際には、あくまでuser_idという名称でなければ反映されないというルールがあることが判明しました。勝手に名前を決めてはいけないということですね。

 

解決方法:

ターミナルでrake db:rollbackを行い、マイグレーションファイルにuse_idが追加される処理の実行前の状態に戻し、もう一度正しい名称を書きました。

もちろんコード内の記述も変えました。

不安だったので、メンターの方に確認しながらでしたが。

 

今回は、簡易的なアプリを作ってみるという試みでしたが、こんなにも大変だとは思いませんでした。

知識、スキルを磨き、もっと複雑なアプリを作れるようこれからも日々精進していきます。