rails常用gem

作者: 范孝鹏
发布时间:2015-07-07 15:35:37

  一,开发模式下

  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

标签: Rails
来源:http://www.cnblogs.com/fanxiaopeng/p/4359543.html

推荐: