ABAB Pedia

Ruby on Rails

Ruby on Rails(常簡稱 Rails)是用 Ruby 語言編寫的開源全棧 Web 應用框架,按模型—視圖—控制器(MVC)模式構建數據庫驅動的 Web 應用。它由 David Heinemeier HanssonDavid Heinemeier HanssonDavid Heinemeier Hansson 是丹麥程序員、企業家和賽車手,Web 框架 Ruby on Rails 的創建者,與 Jason Fried 共同擁有軟件公司 37signals(Basecamp、HEY 的開發商)。他與 Fried 合著《Rework》等商業書籍,2014年在勒芒24小時耐力賽贏得組別冠軍,2024年起任 Shopify 董事,並創建了 Linux 發行版 Omarchy。點擊查看完整詞條 創建,2004年首次公開發布,以“約定優於配置”等設計理念著稱,GitHub、ShopifyShopifyShopify 是起源於加拿大渥太華的商業軟件公司,為商家提供網上商店、實體零售、支付、訂單和庫存管理工具。業務起點是 Tobias Lütke 等人於2004年創辦的滑雪板網店 Snowdevil,獨立電商平臺於2006年推出。公司於2015年上市,目前在納斯達克及多倫多證券交易所使用 SHOP 股票代碼。點擊查看完整詞條 等公司在生產環境中使用。

本頁目錄22 節
詞條資料

早年:從 Basecamp 開發中提取

Rails 誕生於 37signals 開發項目管理軟件 Basecamp 的過程:創建者 David Heinemeier Hansson 用 Rails 構建 Basecamp,同時借 Basecamp 的開發打磨 Rails。到2007年12月,他已為這一框架工作約四年半。⁠[1][2]

Rails 0.5 公開發布

2004年7月24日,Hansson 發佈 Rails 0.5.0,並表示文檔和示例仍待補充,但“真正的藝術家要交付”,項目將在公開中繼續成長。Rails 0.5 通過 RubyForge 發佈,頭五天下載357次。rubyonrails.org 2006年的一篇文章則把7月25日記為兩週年紀念日。⁠[1][1][3][4]

發佈半年

發佈半年後,Rails 已推出15個版本,gem 下載量超過一萬次,IRC 頻道有153人在線;Dave Thomas 正在撰寫第一本介紹 Rails 的書。⁠[3][3][3]

Rails 1.0

首次公開發布15個月後,Rails 1.0 推出。這一版本彙集了數百名貢獻者的數千次修訂、工單與補丁,重點是穩定已有功能而非增加新特性;同日上線由 37signals 重新設計的 rubyonrails.org 網站。⁠[5][5][5][5]

Rails 2.0

Rails 2.0 歷時約一年完成,主要改進集中在 REST 風格的資源路由,例如以斜槓取代分號表示自定義方法、新增命名空間路由和列出全部路由的 rake routes 任務;框架同時移除 ActionWebService、改用 ActiveResource,在 SOAP 與 REST 之爭中選擇了 REST。⁠[2][2][2][2][2][2]

宣佈與 Merb 合併

2008年12月,Rails 宣佈將另一個 Ruby Web 框架 Merb 併入 Rails 3,結束兩個項目之間的爭執:Merb 團隊把其主要理念帶入 Rails 3,Yehuda Katz 加入 Rails 核心團隊。合併計劃包括讓 Rails 可以只運行最小核心,以及引入 Merb 的性能優化。⁠[6][6][6][6]

Rails 3.0

Rails 3.0 開發約兩年,彙集逾1600名貢獻者的工作。Active Record 改用 ARel 查詢引擎,使作用域和查詢可組合並延遲執行;路由語法按 REST 風格重寫;依賴管理改用 Bundler。⁠[7][7][7][7][7]

Rails 4.0

Rails 4.0 著重讓服務器端渲染的應用不必走客戶端 JavaScript 加 JSON 的路線也能足夠快,相關做法先在新版 Basecamp 中試驗:基於鍵過期的“俄羅斯套娃”緩存、使頁面切換接近單頁應用速度的 Turbolinks,以及聲明式 ETag。該版本還加入流式響應,並默認可在多線程服務器上安全運行。⁠[8][8][8][8][8][8]

Rails 5.0

Rails 5.0 經過四個測試版和兩個候選版後發佈,兩項主要特性是處理 WebSocket 的全新框架 Action Cable,以及面向只需 JSON 後端的客戶端或原生應用的 API 模式(rails new backend --api)。默認開發服務器也由 Webrick 改為 Puma。⁠[9][9][9][9]

Rails 6.0

Rails 6.0 新增處理來信的 Action Mailbox、富文本編輯的 Action Text、多數據庫支持、並行測試、默認集成 Webpacker,並以 Zeitwerk 重寫代碼加載器。2019年有341名代碼貢獻者提交改進;GitHub、Shopify 和 Basecamp 等已在生產環境中運行預發佈版數月。⁠[10][10][10]

Rails 7.0

Rails 7.0 藉助瀏覽器對 ES6/ESM 的支持、HTTP/2 和 import maps 標準,默認前端不再依賴 Node;由 Turbo 和 Stimulus 組成的 Hotwire 成為新應用的默認選擇,取代 Turbolinks 和 Rails UJS。需要 Node 的項目則可通過 jsbundling-rails 接入 esbuild、rollup.js 或 Webpack 等打包工具。⁠[11][11][11][11][11]

The Rails Foundation 成立

2022年11月,非營利組織 The Rails Foundation 成立,宗旨是改進 Rails 生態的文檔、教育、推廣與活動。Cookpad、Doximity、Fleetio、GitHub、Intercom、Procore、Shopify 和 37signals 八家創始核心成員共同出資100萬美元,各派代表進入董事會,由 Hansson 任主席。基金會取得全部 Rails 商標的長期獨家許可,並負責 rubyonrails.org 網站與社交媒體;框架的技術演進仍由 Rails 核心團隊負責。⁠[12][12][12][12][12][12]

Rails 8.0

Rails 8.0 以“無需 PaaS”為主題,預置 Kamal 2 部署工具和 Thruster 代理,可把應用部署到雲虛擬機或自有硬件。新的 Solid Cable、Solid Cache 和 Solid Queue 三個數據庫適配器讓 SQLite 也能承擔 WebSocket 消息、緩存和後臺任務,不再必須依賴 Redis;資源管道由 Propshaft 取代 Sprockets,並新增身份驗證系統生成器。⁠[13][13][13][13][13][13]

Rails 8.1

Rails 8.1 彙集逾500名貢獻者約2500次提交,新增可從中斷步驟續跑的 Active Job 續跑機制、結構化事件報告、本地 CI 與 Markdown 渲染。發佈時 Shopify 和 HEY 已在生產環境中運行該版本數月。⁠[14][14][14][14][14][14]

Agents on Rails 第二階段基準

2026年9月,rubyonrails.org 發佈 Agents on Rails 基準的第二階段,以 37signals 看板應用 Fizzy 上按產品人員口吻編寫的20個功能工單,測試 AI 模型能否獨立交付完整功能;第一階段測試的是模型是否瞭解 Rails。⁠[15][15][15]

Rails 8.1.4

2026年9月24日,Rails 8.1.4 發佈,截至2026年10月為最新版本。⁠[16][17]

Rails World 2026 演講上線

Rails World 2026 是首次在美國舉辦的 Rails World 大會,在奧斯汀舉行,吸引來自58個國家的逾1000名 Rails 開發者,為歷屆規模最大;四場主題演講都引發了關於 AI 的討論。2026年10月1日全部演講視頻上線,下一屆定於2027年10月在里斯本舉行。⁠[18][18][18][18]

主題:設計信條

Hansson 撰寫的《Rails Doctrine》列出九條支柱:為程序員的幸福而優化、約定優於配置、“菜單由廚師決定”(omakase)、不拘一種範式、推崇優美代碼、提供鋒利的刀、重視集成系統、進步重於穩定、搭一頂大帳篷。Rails 社區正是圍繞一系列關於編程與程序員本質的“異端”思想凝聚而成。⁠[19][19][17]

主題:框架組成與 AI 定位

Rails 是全棧框架,Model 層的 Active Record 把數據庫行表示為帶業務邏輯的對象,Action Controller 處理請求,Action View 用 Ruby 與 HTML 混合編寫模板,Action Dispatch 負責路由;框架還內置郵件收發、WebSocket、後臺任務和雲端文件存儲等功能。截至2026年10月,已有逾六千人為 Rails 貢獻過代碼。⁠[20][20][17][17][17][17][17][17]

截至2026年10月,Rails 官網把 Rails 定位為適合 AI 編碼代理的框架,理由是清晰的約定、較少的代碼量(更省 token)以及數十年積累的公開 Rails 代碼;官網還以“一人框架”(The One Person Framework)為題,稱 Rails 提供完整的產品技術棧,單人開發者藉助 AI 編碼代理可以承擔更廣泛的工作。⁠[17][21][21][21][21]

主題:許可與商標

Rails 以 MIT 許可證發佈,許可文件的版權署名為 David Heinemeier Hansson。“Rails”“Ruby on Rails”及 Rails 標識是 Hansson 的註冊商標,獨家許可給 The Rails Foundation 管理;在商業場合用以暗示獲得認可或存在關聯須事先獲准。截至2026年10月,基金會有十家核心成員,每家每年出資7.5萬美元,執行董事為 Amanda Perino。⁠[20][22][23][23][24][24][24]

關聯機構、網站與公開賬號

GitHub 代碼倉庫:官方鏈接:https://github.com/rails/rails(在新窗口打開)。⁠[17]

來源

  1. Rails 0.5.0: The end of vaporware! (Loud Thinking)(在新窗口打開)
  2. Rails 2.0: It's done!(在新窗口打開)
  3. Celebrating six months anniversary!(在新窗口打開)
  4. Rails is 2 years old(在新窗口打開)
  5. Rails 1.0: Party like it's one oh oh!(在新窗口打開)
  6. Merb gets merged into Rails 3!(在新窗口打開)
  7. Rails 3.0: It's ready!(在新窗口打開)
  8. Rails 4.0: Final version released!(在新窗口打開)
  9. Rails 5.0: Action Cable, API mode, and so much more(在新窗口打開)
  10. Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk(在新窗口打開)
  11. Rails 7.0: Fulfilling a vision(在新窗口打開)
  12. The Rails Foundation kicks off with one million dollars(在新窗口打開)
  13. Rails 8.0: No PaaS Required(在新窗口打開)
  14. Rails 8.1: Job continuations, structured events, local CI(在新窗口打開)
  15. Agents on Rails: Stage 2. Can a model ship a feature?(在新窗口打開)
  16. Rails Version 8.1.4 has been released!(在新窗口打開)
  17. Ruby on Rails: Accelerate your agents with convention over configuration(在新窗口打開)
  18. Rails World 2026 recap: All talks online(在新窗口打開)
  19. The Ruby on Rails Doctrine(在新窗口打開)
  20. rails/README.md(在新窗口打開)
  21. Rails and AI — Ruby on Rails(在新窗口打開)
  22. rails/MIT-LICENSE(在新窗口打開)
  23. Ruby on Rails Trademark policy(在新窗口打開)
  24. The Rails Foundation(在新窗口打開)