【目標】
自分が納得いく「趣味のロードマップアプリ」を作り上げる。
⇒ 12月中に View 以外の部分の実装を最小単位で完成させる
⇒ 1月2週目までに 機能の肉付け・UI 方針の整理
⇒ 1月末までに HTML / CSS で可能な範囲の見た目調整
【本日の実装内容】
Category モデルの作成
Article モデルの作成
Category と Article の関連付け(1対多)
ネストされたルーティングを設定
Categories / Articles コントローラ作成
index / show / new のビューを作成して動作確認
root 設定を修正してトップページから遷移できるように準備
【思考の流れ】
カテゴリーごとに記事を投稿したいけど、仕組みがよくわからない…?
⇒ Rails ではモデル同士に関連付けをすれば、
「カテゴリが複数の記事を持つ」という構造は自然に表現できることが判明。
has_many と belongs_to の役割を理解すると一気に見通しが良くなった。
URL とコントローラってどう紐づいてる?
⇒ ネストルーティングを使うことで、
/categories/:id/articles/new のように “カテゴリに紐づけて記事を作る” 形が自然に作れる。
Rails が自動でパス名も作ってくれるので非常に便利。
ビューがうまく表示されない?なんで?
⇒ Routes の root がデフォルトのままだったため、Rails の赤い初期画面が表示されていた。
手動で /categories や /hobbies にアクセスすればちゃんと動いていた。
これも Rails の仕組みを理解したら納得。
MVC のつながりが少しずつ見えてきた
モデル=データの形
コントローラ=指揮者
ビュー=画面
…という役割分担を、実際に動くコードを見ながら体験できた.
【躓いた点】
コントローラやビューを作ったのに画面が出ない問題
→ 原因は root 設定がデフォルトのまま(Rails welcome page)。
→ URL を直接叩けば正常に動作することを確認して解決。
フォルダの場所とファイル名の関係が混乱しやすかった
→ articles_controller.rb と app/views/articles/ がセット、という Rails のルールを理解。
【明日の目標】
カテゴリ画面・記事画面の動作を一通り完成させる
記事投稿フォームを整えて、実際に保存→表示までできるようにする
必要であれば edit/update/destroy の残り機能の仕上げ