Rails7, Hotwire, ViewComponent, TailwindCSS でのサンプルプロジェクト.
Hotwire + ViewComponent + TailwindCSS の組み合わせにより、/components
でコンポーネント指向な実装を目指す.
- Ruby 3.2.2
- Rails 7.0.4
- Tailwind CSS
Docker Componse で node_modules ボリュームをバインドするために必要.
./
├─ app
├─ ...
├─ node_modules // このフォルダを作成
└─ ...
.env
に記述したクレデンシャルは、docker-compose.yml
経由でプロジェクト内に環境変数として登録される.(※本プロジェクトでは未使用)
./
├─ app
├─ ...
├─ .env // このファイルを作成
└─ ...
docker compose build
docker compose run web rails db:create && rails db:migrate
docker compose run web rails db:seed
docker compose up
id | pass |
---|---|
current_user@example.com | example |
other_user@example.com | example |
ブラウザから各画面にアクセスして表示されることを確認.
画面名 | URL |
---|---|
タスク一覧画面 | http://localhost:3000/tasks |
ログイン画面 | http://localhost:3000/sign_in |
- view_component と stimulus コントローラをジェネレート
rails generate component Hoge::Fuga --stimulus --preview
- stimulus コントローラを index.js に登録(rake コマンドで拡張したもの)
rails view_component:stimulus_manifest:update
/rails/view_components
からコンポーネント単位でのプレビューを確認できる