一,开发模式下
1,better_errors
使用全新的页面替换 Rails 默认的错误页面,显示更多的上下文信息,例如源码 和变量的值;配合binding_of_caller可以执行代码查看变量的值
2,meta_request
是 Rails Panel的支持gem包, Rails Panel是chrome浏览器中的扩展程序,可以在rails开发模式下,查看请求信息,包括本次请求中渲染的模版以及话费的时间。如果使用rubyMine的话,可以安装RubyMine Url Handler点击文件名直接在rubyMine中打开,省去查找文件的过程。
3, annotate
在model类的顶部或者底部,插入数据库表的描述,方便查看
# == 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,mina
自动化部署工具,只建立一个ssh连接。 如果使用了sidekiq的话,加入mina-sidekiq gem,在部署任务中控制sidekiq。
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