こんにちは、初心者アプリクリエイターことめたっぴa.k.a.天使の涙です。
英語にすると
ビギナーアプリケーションクリエイターことめたっぴa.k.a.ティアーオブエンジェルです
(?)
あれ?CSSがところどころ適用されてないぞ?
ということで状況から整理します。
【簡単な仕様】
Rails 7.2
Tailwind CSS 2.7
【状況】
アプリのデプロイをする前に、以下のUIの変更を行いました。
1:左側の球を大きくしたい(ついで中の文字も)
2:ゲーム(ダークソウルとか星のカービィとか書いてるとこ)を
プレイヤー画像があるあたりまで伸ばして欲しい
その時に、いくらローカル環境で左側の球を大きくしようとしても全く反映されなかったのが
まさかのデプロイ後の環境で適用され、(1の件)
反対に
2の部分に関してはデプロイ先では反映されず
ローカルで反映されている
そこから考えられる仮説
1:古いCSSのキャッシュ(ジオンの亡霊)に取り憑かれている
2:package.jsonが見つからない(探し物は何ですか 見つけにくいものですか)
3:変更ファイルをそもそも保存してない(初歩的すぎて泣く)
解決方法
とりあえずやったこと。
# キャッシュをクリア
docker compose exec web rm -rf tmp/cache
docker compose exec web rm -rf public/assets
# CSSを再ビルド
docker compose exec web yarn build:css
# コンテナを再起動
docker compose restart web
それでも直らない時は
# Dockerボリュームもクリア
docker compose down -v
docker compose up --build
# CSSをビルド
docker compose exec web yarn build:css
それでもダメな時。
# コンテナ内を確認
docker compose exec web ls -la
# package.jsonがあるか確認
docker compose exec web cat package.json
# なければDockerfileを確認
そして最後に add commit pushをする
→Renderで自動デプロイ
治った!

色々あって左側の球自体消しました。(情報が被っているため)
でもこれでしっかりローカル、本番環境でも適用されました。
自動でビルドしてくれる方法もあるよん
開発時にめっちゃ便利です。
ターミナル1: Railsサーバー
bashdocker compose up
ターミナル2: CSSウォッチャー(別ターミナル)
bash# CSSの変更を監視して自動ビルド
docker compose exec web yarn build:css --watch
これで、CSSを編集するたびに自動的にビルドされます!✨
🔄 おまけ CSSビルドの流れ(Docker環境)
【ホスト】CSS記述するとこ
app/assets/stylesheets/application.tailwind.css を編集
↓
【Dockerコンテナ内】
yarn build:css を実行
↓
Tailwindが処理
↓
app/assets/builds/application.css を生成
↓
【Volumeマウント経由でホストにも反映】
↓
【ブラウザ】
新しいCSSが読み込まれる ✅
🔄 おまけ2 ローカル環境と本番環境の違い(Render)
| 項目 | ローカル(Docker) | 本番(Render.com) |
|---|---|---|
| 実行タイミング | 開発中に必要なとき |
git push 時 |
| 実行主体 | あなた(手動) | Render(自動) |
| トリガー | docker compose exec web yarn build:css |
git push origin main |
| CSSビルド | 手動で yarn build:css
|
Dockerfile内で自動実行 |
| 実行コマンド | yarn build:css |
yarn installyarn build:cssyarn build
|
| Assets処理 | 必要に応じて手動 |
bundle exec rake assets:precompile 自動 |
| 生成ファイル | app/assets/builds/application.css |
同じく自動生成 |
| Git管理 | commit不要(.gitignore) | 不要(ビルド時生成) |
| 目的 | 画面確認・開発用 | デプロイ用ビルド |
| ミスが起きるポイント | build忘れ → CSS反映されない | Dockerfile設定ミス |

