日記アプリ(app008_diary_app)

※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

日記アプリ

プロジェクト概要

Railsで作成した日記アプリ。

日付・タイトル・本文・気分(mood)を保存できる。


背景と課題

  • 「毎日使うアプリ」を題材にしたくて日記を選択。
  • scaffoldを拡張して、デザインや表示件数を工夫する練習に。

目標・成功条件

  • 日付・本文を保存できるシンプルな日記。
  • 一覧画面で全件表示できること。
  • デザインをカード風に統一。

実装の工夫

  • Hamlでビューを書き換え、青×白ベースでスタイリング。
  • 一覧・詳細・編集・新規作成画面を同じカード風レイアウトに統一。
  • 全件表示に変更(ページネーション解除)。


編集画面


ハマりポイントと解決

show画面で画像(photo)が表示されない → ActiveStorage設定を調整して解決。

manifest.json に対するRoutingError → 不要アクセスなのでignore設定。

画像が表示されないところ

Gemfileでgem “image_processing”, “~> 1.2″がコメントアウトされていた

bundle add image_processing

brew install vips

ターミナルで実行したけど、完了まで時間がかかった


学びと次の一手

  • コメント機能
  • 自分以外の記事も見られるようにしたい
    (時間の都合で、結局自分のしか見られない)
  • scaffoldをベースにデザインを整える練習になった。
  • 次は「ユーザーごとの日記管理」や「カレンダー表示」を追加して発展させたい。


scaffoldについてメモ

rails g scaffold Entry date:date title:string body:text mood:integer user:references

このコマンドで生成されるもの

  1. マイグレーションファイル → entriesテーブルを作る
  2. モデル app/models/entry.rb
  3. コントローラ app/controllers/entries_controller.rb(CRUDの中身つき)
  4. ビュー app/views/entries/*(一覧・詳細・新規・編集画面)
  5. ルーティング → resources :entries が自動で追加される
  6. テストファイル(RSpecじゃなくMinitestの場合)
rails g scaffold とは
  • scaffold(スキャフォールド)→「足場」という意味
  • railsで、model・migration・controller・view・routing・testを一気に作る便利なコマンド
  • CRUD(作成・読み取り・更新・削除)画面が最初から動く状態で出来上がる