经常使用Ruby Gems列表

本文介绍 Ruby 社区里面那些特别热门的 Gem ,如下 Gem 能够在 rubygems.org 找到。html

ruby gems

twitter-bootstrap-rails

http://twitter.github.com/bootstrap/前端

https://rubygems.org/gems/twitter-bootstrap-railsjava

https://github.com/seyhunak/twitter-bootstrap-railsgit

来自 Twitter 的 Bootstrap,是一套完整的前台 CSS 框架。 以简洁,优雅著称于世。 被无数攻城狮所青睐, 又让无数程序猿审美疲劳。程序员

twitter-bootstrap-rails Gem 封装了 Boostrap CSS 等代码github

Devise

用于快速构建用户功能,如:注册,登录,我的设置,找回密码...web

OmniAuth

若是你须要在项目中实现三方平台(如: Twitter, Facebook, 新浪微博, 腾讯 QQ)帐号登录的支持,那你须要用上它。redis

RailsCast: Part1 Part2数据库

will_paginateKaminari

分页控件,几乎全部 Rails App 都在用, 其中 will_paginate 比较老,
应用案例较多, kaminari 更新, 性能和兼容性更好bootstrap

PaperclipCarrierwave

这两个都是上传组件, Paperclip 是老牌产品了,也是几乎绝大多数项目都有在用它,它能够帮你处理上传图片,裁减,定义不一样的图片尺寸,几乎很完美。而 Carrierwave 是后起之秀,功能和 Paperclip
差很少,但它还能够管理除图片以外的东西,并且灵活性更高( ruby-china
就是用它)。 对比: Paperclip 官方只支持 ActiveRecord 但相对稳定, 而 Carrierwave
比较灵活支持更多的 orm, 好比 mongoid

WiceGrid

表格控件,针对 ActiveRecord,超级强大,支持任意字段排序,过滤,具体看它的 Demo.

thinking-sphinx

基于 Sphinx 的全文搜索组件,要搞全文搜索功能就用它。

SettingslogicRailsSettings

项目常常会有一些配置信息,Settinglogic 能够帮你将写在 YAML 里面的配置信息很方便的调用。而 RailsSettings 也是相似的功能,只不过它是将配置信息存放在数据库里面,以即可以随时在线上修改。同时也带来性能的问题,你能够用改进版 rails-settings-cached,他会将配置缓存下来。

CanCan

一些应用中会用到为不一样用户设定不一样功能的权限,你能够试试 Cancan 这个 gem 他能够帮你制定一套完善的方案,Railscasts 上面还有个使用介绍,能够看一下。

redis-objects

它是一个基于 Redis 存储的数据存储插件,用于帮助咱们存放一些须要快速存储的数据,如 页面访问量,赞数量,或者一些列表数据,如 Followers,数据将会存入 Redis 中,而它用起来很简单,它能够和 Rails ActiveSupport (简单来讲,也就是 Model 里面)结合,使这些数据存取像一个普通字段通常。

Nokogiri

采集数据时咱们须要解析复杂的 HTML 结构,从中得到须要的数据,Nokogiri 能够帮助咱们完美的处理不一样网页上面不一样的 HTML 结构,而且有很好的编码处理能力,用它你不用担忧页面是 GB2312 仍是 GBK 仍是 UTF-8,它都能很好的处理,解析结构能够用相似 jQuery 的 CSS Selector 的方式查找,非常方便。曾经用过 Ruby 的好几个相似插件,最终发现 Nokogiri 才是最好的。

Formtasticsimple_form

Rails 为咱们带来和一改传统的表单构件方式,可是通过实际的使用,咱们渐渐发觉这样依然仍是不够“敏捷”,咱们须要更加简便并具备更细致规范的表单,因此有了 Formtastic ,它用起来比 Rails 默认的 form 更加简洁,可是却具备更多的功能,你能够为每一个字段设定 help-text 放到文本框下面,并能够走 I18n 的方式设置语言,具体参见 Railscasts 上面对于 Formtastic 的介绍。而 simple_form 和 Formtastic 功能相似,但它的写法还要简单一些。

Whenever

Linux 里面有 Cron 能够帮助咱们按期执行一些任务,可是 Cron 手动写起来非常麻烦,尤为是前面时间周期的定义, Whenever 能够帮助咱们用更人性化的方式编写 Cron 任务,具体参见 Railscasts 上面关于 Whenever 的介绍。

ResqueDelayed_job

有时候一些任务的执行会很慢,而这些任务咱们并不要求须要立刻返回结果 (好比:发送邮件,生成图片缩略图),那咱们能够选择将这些任务放到后台执行,以便于页面不会长时间等待执行。Resque 和 delayed_job 能够帮助咱们很容易的搞定这件事情。二者区别在于 Resque 能够有不一样的队列,而 Delayed_job 只有一个,但它能够设定优先级。此外 Delayed_job 除了支持 ActiveRecord,还支持其它 ORM(具体参见 这里)。Delayed_job 使用更加简单。如何选择,这个就要看使用场景了,Resque 上面对比介绍说,若是你须要有大量的任务须要放到队列里面执行,而且不要求优先级,那你就用它吧。DelayedJob不适合处理大量的任务, 瓶颈是基于数据库的, 也不支持队列. 操做上比 Resque 要方便. 而 Resque 是基于 redis 的, 使得生成任务比较迅速, 性能上比 DelayedJob 要好. 惟一的缺点就是不支持定时任务、可是装个 resque-scheduler 能够弥补这一点. 并且 Resque 还有 web 管理界面, 方便查看任务和追踪错误.

rails-dev-boost

随着项目愈来愈大,文件愈来愈多,咱们渐渐发如今开发环境下,项目执行慢得让人没法忍受。这个问题缘由在于 Rails Development 环境没有缓存全部的类 (Model,Controller,Helper,Views...) 文件,每次刷新页面都将会从新载入,而载入过程其实是缓慢的,这个源于 Ruby 的性能问题,因此 rails-dev-boost 搞了缓存的机制来解决这个问题,用它能够 10 倍提高大项目在开发环境的速度问题,不过某些项目可能不起效果,好比用了 ActiveAdmin。 用这个 Gem 在 rails3.1 下提速效果更为明显, 由于 rails3.1 开发环境默认状态下每次请求 assets 哪怕是一张图片也要从新加载全部的程序文件.

Cells

在设计 Views 的时候,咱们会将一些不少页面都须要用到的局部功能抽象成 Partials 可是咱们会发现这样动做比较麻烦,由于数据依然还须要在不一样的 Controller 里面载入。而 Cells 能够帮助咱们搞定这个问题,它能够将一个局部功能,从数据调用到 View 生成,所有作成一个独立的组件,使用的时候一行代码就搞定,无需其余的调用,同时还能够在 Cell 里面设定缓存,将缓存颗粒化。并且于 Partials 相比,它的效率好不少。

Smurf

Rails 3.1 为咱们带来了 Asset Pipeline ,能够帮助咱们处理 JS,CSS 压缩的功能,可是以前的版本如何实现 CSS,JS 压缩呢?Smurf 能够,用它很是简单,装上就能够了,不用修改代码。同时你们能够用另外个改进版本 smurf-huacnlee 它能够另外处理 CSS 里面 image 地址的问题,会在后面加上时间戳 (相似 image_tag 的效果),以解决图片更新后,用户浏览器缓存更新的问题。

daemon-spawn

将一些事情做为 daemon 来启动,相似 Debian 的 service foo start 好比 用来管理 Resque 的启动和重启,会变得很简单。

Grape

随着 Mobile App 的增多,不少时候咱们在作用 Rails 作 API Base 项目时,rails 自带的 C 和 V 层显得过于繁杂,grape 能够帮助咱们快速的构建和 Rails 完美融合的 API 接口。

ClientSideValidations

如今愈来愈多网站为了改善用户体验,使用 JavaScript 来进行客户端验证。对于程序员来讲,也所以增长多一份工做。而每每客户端的验证逻辑跟服务端的验证逻辑几乎同样,若是要另外再写一次验证代码,实在不够 DRY,client_side_validations 正是为解决此问题要出现。client_side_validations 会读取服务端的验证逻辑并生成对应的客户端验证逻辑(依赖 jQuery),让你几乎不用增长任何前端代码就可实现客户验证。

by_star

这是一个辅助 ActiveRecord 的组件,让你能够简单的实现按某年,某月,某日,或者星期几,来查询数据,用起来很是简单,省下麻烦的条件组合,此外,它还能够查询上一篇,下一篇相似的功能。

rolify

一个很是简单的角色设定模块,不强制要求认证,支持资源对象范围。

gon

这个 gem 能够实现把服务端的数据传到 js 中. 用法很简单.

rest-client

简单强大的 HTTP/REST 客户端,跟 Grape 配合起来很完美

pry

简单强大的调试工具, 轻量级的工具. 直接在终端调试方便又直接

Seed Fu

强大的 seed

rails_best_practices

编写代码总有方圆,费心费力写文档,还不如用这个工具来控制代码质量。

lazy_high_charts

当前绘图 JS 库中 Highcharts 很是优秀,rubyist 使用这个 gem 来管理和编写须要的图。

Better Errors

它用一个更好的,更有用的错误页替换标准的 Rails 错误页面,对 Rack middleware 也一样有效。Railscasts 也有相应的介绍。

god

Ruby 进程监控工具


你也能够参考RubyGems排名站点 ruby-toolbox.com

贡献者

5aec84cd0b5479a0d1d89b6ffa2a9a20 2 8 60fbc6a9f457b3d7401a54e61e468857 5894706ab8c4aa40257d022e28129f66 77 121 145 200 58bf89ba2dfa037971b05d1afb0480a3 257 Dda6c4388751b5713ab51668c50ded1d C7b8c0b4ef05e68e2c92cd912eca414b Ab989bfcd6ed51d34250507f7a248653 Ac1132a622b224a045252b215bd3ee31 700 778 1510 1904 8bd6aaab7589b8767c019423d72617d9

via Ruby China Wiki

相关文章
相关标签/搜索