rails经常使用gem

  一,开发模式下javascript

  1,better_errorshtml

  使用全新的页面替换 Rails 默认的错误页面,显示更多的上下文信息,例如源码 和变量的值;配合binding_of_caller能够执行代码查看变量的值java

2,meta_requestjquery

是 Rails Panel的支持gem包, Rails Panel是chrome浏览器中的扩展程序,能够在rails开发模式下,查看请求信息,包括本次请求中渲染的模版以及话费的时间。若是使用rubyMine的话,能够安装RubyMine Url Handler点击文件名直接在rubyMine中打开,省去查找文件的过程。 web

  3, annotateajax

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

# == Schema Info
#
# Table name: line_items
#
#  id                  :integer(11)    not null, primary key
#  quantity            :integer(11)    not null
#  product_id          :integer(11)    not null
#  unit_price          :float
#  order_id            :integer(11)
#

 class LineItem < ActiveRecord::Base
   belongs_to :product
  . . .

  4,minaspring

自动化部署工具,只创建一个ssh链接。 若是使用了sidekiq的话,加入mina-sidekiq gem,在部署任务中控制sidekiq。chrome

5,brakeman数据库

检查rails程序中安全问题的静态代码分析工具。SQL注入,文件访问权限,Mass Assignment等问题。

6,traceroute

查找没有使用到的路由和action方法。

7,pry

ruby命令行工具rib的升级版,最经常使用的是binding.pry。
配合pry-byebug gem包,增长step, next, finish 和 continue命令。
pry-rails gem包,rails console启动时使用pry

 8,测试相关

rspec-rails:测试框架
spring: 运行测试时,保持development在后台运行,不须要重启
guard-rspec:测试文件改变时,自动执行测试
factory_girl_rails:测试固件

9,rails-admin-scaffold

脚手架生成帮助插件,能够制定controller的命名空间,例如资源post,对应的controller位于admin文件夹之下,可使用此插件自定义命名空间。

 10,rack-mini-profiler

显示html页面上左上角的加载速度

 

11,thin

使用thin替代rails默认的WEBrick服务器

 

12,rmagick

处理图像,裁剪、加水印等等。相对更加节省内存的是mini_magick

 

13,rack-cors

容许跨域请求的中间件。

 

 14,will_paginate

分页插件

15,websocket-rails

rails内建的WebSocket服务器。若是浏览器不支持WebSocket,使用http或者Flash sockets替代。

16,jbuilder
生成JSON。jpbuilder是用来生成JSONP的jsonify。另一个相似的gem:jsonify

 

17,omniauth # 第三方帐号登录

'omniauth-weibo-oauth2',
'omniauth-qq-connect'
"omniauth-wechat-oauth2"

18,qiniu
七牛云存储的ruby gem

19, HTML帮助方法:
will_paginate, will_paginate-bootstrap:分页插件
simple_form 加强form表单的功能,关联样式和验证

tabs_on_rails  便捷的tab和导航插件

20,CSS
bootstrap_form,应用bootstrap到form中
font-awesome-sass, icon图标

21,js
select2-rails,升级select下拉列表
momentjs-rails,javascript解析显示时间插件
underscore-rails,underscore是一个JavaScript实用库,提供了一整套函数式编程的实用功能,可是没有扩展任何
JavaScript内置对象。
messengerjs-rails,gritter 消息弹出框插件

modernizr-rails,Modernizr:专为HTML5和CSS3开发的功能检测类库

handlebars_assets, Handlebars 是 JavaScript 一个语义模板库,经过对view和data的分离来快速构建Web模板

chartkick, js图表

remotipart:原生的ajax不能像form同样上传文件,remotipart是jquery插件,原理是使用iframe绕过限制

jquery-cookie-rails: jquery插件,操做cookie

22,whenever
执行定时任务

23,acts-as-taggable-on

打标签。生成两个表:tags,tagings;tags纪录标签名称的,而tagings是关联标签和打标签对象的关联关系

 

24,oj

效率更好的处理JSON

25,wicked

rails controller中方法的步骤向导

26,counter_culture
counter_cache的优化

27,elasticsearch
分布式全文搜索引擎

28,httparty
为Ruby Class提供快速Web服务,封装了大量的访问Web的类,是一个简单的HTTP / REST客户端库。

29,kramdown 是一个用Ruby实现的Markdown的解析器。
30,igetui-ruby 个推的客户端通知推送服务
31,ipparse 解析IP地址,对应到省市
32,useragent 分析请求的useragent

 33,redis 内存数据库

hiredis,redis数据库的C接口
redis-namespace, 给redid的key添加命名空间
redis-objects 将redis数据类型映射为ruby对象

34, aasm ruby状态机

35, sidekiq

另启线程,执行异步任务

36,paper_trail
记录model数据的变化

 

37, rqrcode_png

#生成二维码

38, jc-validates_timeliness
model中验证日期时间

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

40,recursive-open-struct生成嵌套的OpenStruct