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 也同样有效。·Railscasts 也有相应的介绍。

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

推荐阅读更多精彩内容