• rails常用gem


      一,开发模式下

      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

  • 相关阅读:
    作业帮:最长连续序列(头部插入)
    作业帮:字符串反转(头部插入)
    作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)
    JVM系列之七:HotSpot 虚拟机
    JVM系列之六:内存溢出、内存泄漏 和 栈溢出
    JVM系列之四:运行时数据区
    JVM系列之五:垃圾回收
    JVM系列之三:类装载器子系统
    JVM系列之二:编译过程
    JVM系列之一:JVM架构
  • 原文地址:https://www.cnblogs.com/fanxiaopeng/p/4359543.html
Copyright © 2020-2023  润新知