10個必備而且非常有用的Ruby on Rails 4 Gems
英文原文:10 Essential & Useful Ruby on Rails 4 Gems
Ruby on Rails 框架是一個用于開發 Web 應用程序的非常強大的工具。 它配備了大量的內置功能,有助于加速你的 Web 應用程序的開發,如智能路由和對象 – 關系映射器,全都采用了 MVC 模式。
Rails 被設計成使用 Ruby gem 的,很容易擴展的方式。這創造了一個巨大的可用于擴展你的應用程序的 Ruby gem 的生態系統,甚至通過減少開發共公功能的時間加快你的開發進展。 我們將在下面回顧一些我們認為非常有用的 gem。
Devise
Devise 是使用 Ruby on Rails 時最通用的 Gem,
Devise 為 Rails 程序提供了一套易用的用戶認證方案,你可以使用這個 Gem 實現用戶登錄,注冊,找回密碼,賬戶鎖定等賬戶相關的功能。
Pundit
知道身份驗證和授權之間的區別是很重要的。Devise 可能幫助你驗證用戶身份,以確保用戶可以執行某個動作,訪問某個資源。Pundit 通過一套簡單的方式,使用 Ruby 類定義授權系統, 提供了更簡單更少”魔法”的權限管理方案。
Slim
這里面有很多模板系統。 Ruby on Rails 默認使用 eRuby 模板系統,但用戶通常會選擇其他模板系統替代。 Slim 就是其中通常使用的一個,因為它允許你維護易于閱讀的模板,通過它的簡單語法,維護起來快,編譯時間少。
Draper
Draper 允許在你的模塊上創建 decorators。它使你的視圖變得清晰并避免編寫 helpers。不需要用模塊調用 helpers,你只需定義個 decorator,它封裝了原始的模塊并提供了一些拓展方法和針對你的對象的屬性。
Cells
你會經常重用應用程序的許多組件。典型地是,這部分被使用的行為,你必須確定你的控制器調用相一致的行為。Cells 允許你取得部分的控制器,并把它們封裝進它們所擁有的小控制器中。這能讓你的代碼更簡潔,還避免了長時間 helper/partial/filter mes。
FriendlyId
具有代表性的是,資源 URL 是通過主鍵來標識,主鍵通常是它們的數據庫 ID。但是,這可能造成閱讀的不友好。FriendlyId 可以簡單地轉換你的 URL,把它變得更友好,更易于記憶。這樣,在你的 web 應用中,基本上就很少改動你的代碼了。
Simple Form
表單是每個 web 應用程序的核心要素.如果與用戶有任何的交互,典型的做法是使用 web 表單. Simple Form 有助于簡化這個簡單卻重復的工作.通過實現簡單容易的方式使用 DSL 來創建表單,你可以花費更少的時間編寫表單 HTML,而花費更多的時間用于處理應用程序的核心業務邏輯.
Paperclip
文件附件并不容易處理.它們通常需要做大量的工作來實現,甚至花費更多時間來保證,以非常安全的方式來實現.Paperclip 在你的 Rails 應用程序中處理了所有這些過程,并拓展了很多東西,譬如像轉化圖片為縮略圖等等.
Kaminari
Kaminari 對于一個 Gem 來說,并不是一個非常具有描述性的名字,但是它卻是最流行的 Gem 之一,大約有 500 萬的下載量.它通過使用簡潔,容易和基于范圍的 API,將來自 ActiveRecord relations 的任何內容轉化為簡單的數組.其中,API 對 ORM 或者模板引擎是透明的.
Sidekiq
當使用 Ruby on Rails 的時候,后臺處理工具有很多選擇,但 Sidekiq 卻是最受歡迎的一個.流行的原因在于它的 API 的簡潔性,同時,相對于其它工具,它的規模化更好.