Rails Scaffold 幾分鐘產出 CRUD 介面,但不處理關聯、無 Ajax、樣式簡陋。若專案模型固定,Scaffold 夠用;若需豐富關聯管理、專業 UI,則需更高階生成器——Streamlined。
gem install streamlined
script/generate streamlined location trail # 依模型名產生
瀏覽 /locations/list 即見:
元資料來源:
streamlined/ 目錄下四大客製化檔案:
model_name.rb:單一模型 UI 微調streamlined_relationships.rb:關聯呈現方式streamlined_ui.rb:全域 UI 開關 (標頭、側欄、頁尾)Java 主流框架 (Struts, Spring MVC) 缺乏 Scaffold 級生成器,主因:過度依賴程式碼生成、缺乏強健元編程模型補充。生成代碼脆弱難維護,長期生產力下降。
例外:RIFE、JMatter (Hibernate + Swing) 結合程式碼生成與元模型,達到類似 Streamlined 效果。JMatter 由 Eitan Suez 主導,專注雙層醫療應用快速開發,特性可與 Rails 抗衡。
深入 Streamlined 元編程模型、關聯客製化進階技巧、自定義欄位渲染、權限整合。