Rails 好用常用gem汇总

好用的 Gem 列表

本页用于介绍 Ruby 社区里面那些特别热门的 Gem ,以下 Gem 可以在 rubygems.org 找到。

实用的 RubyGems 排名站点 www.ruby-toolbox.com

前端常用

bootstrap

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

font-awesome-sass

icon图标

simple_form 和 Formtastic

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

ClientSideValidations

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

bootstrap-datepicker-rails

bootstrap风格的日历

select2-rails: 下拉提示select框(支持前端和后端)

会员系统常用

Devise

用于快速构建用户功能,如:注册,登陆,个人设置,找回密码... 同时 Ruby 社区有各类和账号体系的库可以很容易和 Devise 打通。

RuCaptcha

图片验证码,安全、简单、易用,无依赖。

rolify

Very simple Roles library without any authorization enforcement supporting scope on resource obje

CanCanCan

一些应用中会用到为不同用户设定不同功能的权限,你可以试试 CanCanCan 这个 Gem 他可以帮你制定一套完善的方案,Railscasts 上有使用介绍。

如果 Devise 一样,CanCanCan 在 Ruby 社区也是非常流行,所以和它有关的实现非常多,你能很容易找到资料。

OmniAuth

如果你需要在项目中实现三方平台(如: Twitter, Facebook, 新浪微博, 腾讯 QQ)账号登陆的支持,那你需要用上它。

omniauth-weibo-oauth2

omniauth-qq-connect

omniauth-wechat-oauth2

Doorkeeper

前面说了 OmniAuth 介入 OAuth 2 的服务,有时候你可能需要自己建立一个 OAuth 2 服务,作为提供商,这个时候 Doorkeeper 可以帮到你。

china_sms: 短信平台接口, https://github.com/saberma/china_sms

wechat-rails: 帮助开发者方便地在Rails环境中集成微信公众平台提供的所有服务

rqrcode:生成二维码

内容功能常用

will_paginate 和 Kaminari

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

Carrierwave 和 Paperclip

这两个都是上传组件, Paperclip 是老牌产品了,也是几乎绝大多数项目都有在用它,它可以帮你处理上传图片,裁减,定义不同的图片尺寸,几乎很完美。而 Carrierwave 是后起之秀,功能和 Paperclip 差不多,但它还可以管理除图片之外的东西,而且灵活性更高( ruby-china 就是用它)。国内的各大云存储服务都已经有了 Carrierwave 的支持,例如 carrierwave-aliyun, carrierwave-upyun。

WiceGrid

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

elasticsearch-rails

实现全文搜索或搜索有关的功能,目前要数 Elasticsearch 最火,它也有 Ruby 的实现。

Ransack

常用的搜索插件

social-share-button

分享功能

ancestry

树形结果的方式存储,可以看作是一对多、多对多的扩展

by_star

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

lazy_high_charts

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

rmagick

图片处理确保安装了ImageMagick,rmagick是 ImageMagick的中间件,用于对图片进行切割等操作。mini-magick 稳定,占用内存小,但是功能比rmagick少

acts_as_list

给model中的对象进行排序记录在position字段中

chinese_pinyin

转化汉字为拼音 eg: Pinyin.t("中国") => "zhongguo"

acts-as-taggable-on

管理标签的插件

spreadsheet

操作电子表格

china_city

省市区级联

aasm

ruby状态机

awesome_nested_set

Model多层类别

内容输入

redcarpet

Markdown标记语言

后台管理

active_admin

后台管理框架

部署

capistrano

项目自动化部署

开发测试常用

RailsSettingsCached

项目经?;嵊幸恍┡渲眯畔?,你需要一个库帮你管理。

annotate

在model类的顶部或者底部,插入数据库表的描述,方便查看

faker

生成假数据

pry

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

Better Errors

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

Seed Fu

强大的 seed

Grape

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

Faraday

HTTP Client 支持多种方式

rails_best_practices

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

daemon-spawn

将一些事情作为 daemon 来启动,可以类似 Debian 的 service foo start 比如 用来管理 Resque 的启动和重启,会变得很简单。

rest-client:Http客户端

生产运维性能常用

Whenever

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

Sidekiq, Resque 和 Delayed_job

有时候一些任务的执行会很慢,而这些任务我们并不要求需要马上返回结果 (比如:发送邮件,生成图片缩略图),那我们可以选择将这些任务放到后台执行,以便于页面不会长时间等待执行。

god

Ruby 进程监控工具

second_level_cache

ActiveRecord 二级缓存插件,装上他你可以无缝的实现对 ActiveRecord 数据的二级缓存。

paper_trail

记录model数据的变化

爬虫常用

Nokogiri

采集数据是我们需要解析复杂的 HTML 结构,从中获得需要的数据,Nokogiri 可以帮助我们完美的处理不同网页上面不同的 HTML 结构,并且有很好的编码处理能力,用它你不用担心页面是 GB2312 还是 GBK 还是 UTF-8,它都很很好的处理,解析结构可以用类似 jQuery 的 CSS Selector 的方式查找,很是方便。曾经用过 Ruby 的好几个类似插件,最终发现 Nokogiri 才是最好的。

SEO优化

sitemap_generator

生成网站的sitemap.xml文件

参考文章

ruby china 推荐 Ruby Gem 列表

rails常用插件

rubyChina 帖子回复

最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容