Rails 語「約定優於配置」極大提升開發效率,但每個專案都要從零寫註冊、登入、權限、忘記密碼、郵件通知、使用者管理、社群功能 (好友、群組、私訊),實在重複造輪子。本文精選三個成熟的 **Rails 專案模板/啟動套件**,涵蓋完整認證授權體系、管理後台、社交功能,讓你專注於核心業務邏輯,首周即可上線 MVP。
restful_authentication 插件為核心,手把手展示「註冊 → 信箱驗證 → 登入 → Remember Me → 忘記密碼 → 重設密碼 → 修改密碼 → 登出」完整流程。rails new myapp -m https://raw.githubusercontent.com/jimneath/bort/master/template.rb| 模組 | 功能清單 |
|---|---|
| 認證體系 | 註冊/激活/重發激活、登入/Remember Me/登出、忘記密碼/重設/修改、登入失敗 5 次驗證碼、關鍵字黑名單 |
| 使用者管理 | 資料修改、頭像上傳、狀態、封禁/解封 |
| 社交核心 | 好友 (關注/粉絲)、私訊 (豆郵)、群組 (小組)、動態牆、評論/讚 |
| 系統級 | 全域異常郵件通知、配置檔管理、網站開關/註冊開關、權限管理 (RBAC) |
https://216.45.55.12:8080/ (測試帳號: test1/111111)2024 年新專案,**請直接組合成熟 Gem**,而非套用舊模板:
| 需求 | 首選 Gem | 備選/補充 |
|---|---|---|
| 認證 | Devise | Rodauth (更安全、Rails 引擎架構) |
| 授權 | Pundit (策略類別) | CanCanCan (能力定義)、Action Policy |
| 管理後台 | ActiveAdmin (DSL 快速) | Administrate (純 Rails 視圖)、Avo (商業、極美觀) |
| API 認證 | Devise-JWT / Rodauth-JWT | Doorkeeper (OAuth2 Provider) |
| 背景任務 | Sidekiq | GoodJob (PostgreSQL 為後端、無 Redis) |
| 即時通訊 | Action Cable (內建) | AnyCable (Go 節點、高併發) |
| 檔案上傳 | Active Storage (內建) | Shrine (更靈活)、Uppy (前端直傳) |
| 搜尋 | Meilisearch / Typesense | Elasticsearch (重)、Ransack (簡單 SQL 篩選) |
| 多租戶 | ActsAsTenant / Apartment | Row-level security (PostgreSQL RLS) |