Rails 5.0在2016年發布,睽違三年,Ruby on Rails創建人David Hansonn終於發布了Rails 6.0穩定版,這個版本帶來許多更新,包括讓開發者能夠更好地處理郵件的Action Mailbox,以及為文字內容增加豐富編輯效果的Action Text,還有對多重資料庫連結的支援。而開發者要使用Rails 6.0,則需要先將Ruby更新到2.5.0以上版本才行。

David Hansonn提到,為了確保Rails 6發布版足夠穩定,他們多花了一些時間才發布,不過,GitHub、Shopify和Basecamp企業已經偷跑,在產品中使用了Rails 6預發布版。

Rails 6中加入了兩大新框架Action Text以及Action Mailbox。Action Text整合了Trix編輯器、Active Storage、圖像處理以及文字處理流程,可以讓開發者在應用程式中,加入豐富的文字內容。Trix編輯器可以處理連結的格式、引用、列表,或是嵌入圖像等內容,而在應用程式產生的RichText模型,將與現存Active Storage模型相關聯,所有嵌入圖片或是附件,將會交由Active Storage自動進行儲存。

Active Storage提供將檔案上傳到Amazon S3、Google Cloud Storage或微軟Azure Storage等雲端儲存服務的功能,並將這些檔案附加到Active Record物件上,同時也可以用來開發和測試本地端磁碟功能,還能將檔案鏡像複製到從屬服務,進行資料備份或是搬遷。

而Action Mailbox是第二個被加入到Rails 6.0的新框架,能用來路由收到的電子郵件到類似控制器的郵件信箱,以便在Rails中進行處理,而其同時也附帶了Amazon SES、Mailgun、Mandrill、Postmark以及SendGrid的連結程式(Ingress)。當然,開發者也可以直接使用內建的Exim、Postfix和Qmail連結程式,處理收到的電子郵件。

David Hansonn提到,Action Mailbox、Action Text框架和Active Storage一樣,都是從專案管理軟體Basecamp 3借來,並經過改良後放在Rails 6中,雖然Rails本來就有使用Action Mailer處理郵件的方法,但是不夠靈活好用,也無法與新的電子郵件處理平臺整合,因此Action Mailbox將會取代Action Mailer,舊的框架將會在未來棄用。

Rails 6支援多資料庫連接,因此開發者可以在單個應用程式中,輕鬆地連接多個資料庫。David Hansonn表示,Rails 6會加入這樣的功能,是考量開發者可能有擴充儲存或是隔離資料的需求,或是想藉由在副本資料庫,分離讀取和寫入資料以提高儲存效能,應用程式便可以將資料紀錄拆分到不同的資料庫,但無論哪一種用途,Rails 6.0都有提供簡單易用的API,供開發者使用。

另外,Rails 6現在也支援平行測試,讓開發者可以利用電腦中的所有核心,以更快地速度執行大型的測試套件。現在每個測試工作程式都能使用專屬的運算資源,包括獨立的資料庫以及執行緒,不會再像以前一樣,進行測試時,只有一個CPU在工作滿載,而其他CPU遭到閒置。其他較小的更新,還有Webpacker現成為預設JavaScript打包程式。


Advertisement

更多 iThome相關內容