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的简洁性,同时,相对于其它工具,它的规模化更好.
英文原文:10 Essential & Useful Ruby on Rails 4 Gems
译文出自:http://www.oschina.net/translate/10-essential-useful-ruby-on-rails-4-gems