阅读更多

1顶
0踩

编程语言

Ruby on Rails框架是一个用于开发Web应用程序的非常强大的工具。 它配备了大量的内置功能,有助于加速你的Web应用程序的开发,如智能路由和对象 - 关系映射器,全都采用了MVC模式。

 

Rails被设计成使用Ruby gem的,很容易扩展的方式。这创造了一个巨大的可用于扩展你的应用程序的Ruby gem的生态系统,甚至通过减少开发共公功能的时间加快你的开发进展。 我们将在下面回顾一些我们认为非常有用的gem。

 

Devise

Devise是使用Ruby on Rails时最通用的Gem,Devise为Rails程序提供了一套易用的用户认证方案,你可以使用这个Gem实现用户登录,注册,找回密码,账户锁定等账户相关的功能。

 

Pundit

知道身份验证和授权之间的区别是很重要的。Devise可能帮助你验证用户身份,以确保用户可以执行某个动作,访问某个资源。Pundit通过一套简单的方式,使用Ruby类定义授权系统, 提供了更简单更少"魔法"的权限管理方案。 

 

Slim

这里面有很多模板系统。  Ruby on Rails默认使用 eRuby模板系统,但用户通常会选择其他模板系统替代。 Slim就是其中通常使用的一个,因为它允许你维护易于阅读的模板,通过它的简单语法,维护起来快,编译时间少。

 

Draper

Draper允许在你的模块上创建decorators。它使你的视图变得清晰并避免编写helpers。不需要用模块调用helpers,你只需定义个decorator,它封装了原始的模块并提供了一些拓展方法和针对你的对象的属性。

 

Cells

你会经常重用应用程序的许多组件。典型地是,这部分被使用的行为,你必须确定你的控制器调用相一致的行为。Cells允许你取得部分的控制器,并把它们封装进它们所拥有的小控制器中。这能让你的代码更简洁,还避免了长时间helper/partial/filter mes。

 

FriendlyId

具有代表性的是,资源URL是通过主键来标识,主键通常是它们的数据库ID。但是,这可能造成阅读的不友好。FriendlyId可以简单地转换你的URL,把它变得更友好,更易于记忆。这样,在你的web应用中,基本上就很少改动你的代码了。

 

Simple Form

表单是每个web应用程序的核心要素.如果与用户有任何的交互,典型的做法是使用web表单. Simple Form有助于简化这个简单却重复的工作.通过实现简单容易的方式使用DSL来创建表单,你可以花费更少的时间编写表单HTML,而花费更多的时间用于处理应用程序的核心业务逻辑.

 

Paperclip

文件附件并不容易处理.它们通常需要做大量的工作来实现,甚至花费更多时间来保证,以非常安全的方式来实现. Paperclip在你的Rails应用程序中处理了所有这些过程,并拓展了很多东西,譬如像转化图片为缩略图等等.

 

Kaminari

Kaminari对于一个Gem来说,并不是一个非常具有描述性的名字,但是它却是最流行的Gem之一,大约有500万的下载量.它通过使用简洁,容易和基于范围的API,将来自ActiveRecord relations的任何内容转化为简单的数组.其中,API对ORM或者模板引擎是透明的.

 

Sidekiq

当使用Ruby on Rails的时候,后台处理工具有很多选择,但Sidekiq却是最受欢迎的一个.流行的原因在于它的API的简洁性,同时,相对于其它工具,它的规模化更好.

1
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【Ruby on Rails】第一章 Ruby on Rails 之 创建项目

    Ruby on Rails 之 创建项目

  • Ruby-on-Rails开发人员的主要技能和能力

    而且,如果Ruby是一颗宝石,那么RoR是一种切割工具,由于具有大量的时间效率和代码重用因素,因此RoR使其成为各种Web应用程序的理想框架。 自行判断,Github,Twitch,Bloomberg,Airbnb,Etsy和Shopify之类的产品...

  • ruby on rails_Ruby-on-Rails开发人员的主要技能和能力

    ruby on rails RoR本身就是一件非常独特的事情。 想象一个很难找到的金块,但是当您获得它时,付出的努力是值得的。 而且,如果Ruby是一颗宝石,那么RoR就是一种切割工具,由于其大量的时间效率和代码重用因素,RoR...

  • 基于ruby的docker镜像安装rails

    ruby的官方镜像中, ruby更新到了最新版,基于debian 10 创建,而debian版本需要更新的组件355个!这个用apt更新有依赖冲突,建议不要更新,有强迫症也要忍耐下! 拉取image 创建container: # 查看下版本,ruby ...

  • 新手安装ruby on rails(ror)的成功必备手册

    对于新入门的开发者,如何在windows系统上安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境。 ruby on rails安装准备  首先下载好 Rails...

  • rails_Rails应用程序必备的宝石

    rails Gems are located in the Gemfile inside your project folder. Let’s have a look at some you’ll want to have. 宝石位于项目文件夹内的Gemfile中。 让我们来看看一些您想要的东西。 will_paginate (will_...

  • rails3项目解析之2——rails基础

    [url=http://www.iteye.com/topic/1058510]rails3项目解析之1——系统架构[/url] [url=http://www.iteye.com/topic/1108383]rails3项目解析之3——redis[/url] ...3.1已经放出rc4,看起来离...

  • rails3 新特性 和 RJS评论

    rails 3.0是2010年8月份发布的。迄今为止,3.0已历经多个tiny版到了3.0.8。3.1已经放出rc4,看起来离正式版已为期不远。相对于2系,3系还是有一些令人惊喜的变化,而且在架构上也规范和严整了许多。3.1中更是又加入...

  • rails常用插件

    常用rails插件(可去https://github.com上搜索得到): 1.rest-authentication、devise:用户验证插件 2.attachment_fu、carrierwave、Paperclip :文件上传...4.gruff、ziya、googlecharts、flot(jquery):图表插件 5.

  • rails tips

    MRP启动之后,上次介绍了Phase I的完成情况,之后很久都没什么时间去折腾,最多是零零散散的更新几行代码——事实上对于大部分页面来说,也就几行代码就行了——直到开始实现查询部分的功能,这个有点麻烦,这次趁着...

  • 诗歌rails之rails tips

    MRP启动之后,上次介绍了Phase I的完成情况,之后很久都没什么时间去折腾,最多是零零散散的更新几行代码——事实上对于大部分页面来说,也就几行代码就行了——直到开始实现查询部分的功能,这个有点麻烦,这次趁着...

  • Rails Livereload 搭建

    原因是这样,有一个新的项目,前端想要加入livereload,但没搭建成功。另一后端又没搭过,觉得他搭的话,会花费一些时间,索性我我就把它搭了起来。 livereload这种虽然搭建起来没什么难度,但要重头做要看很多东西...

  • rails3项目解析之1——系统架构

    用rails3做目前的这个网站项目,已经有半年多了。我们这个团队应该算是比较早使用rails3做项目的,3.0正式版刚发布就开始尝试了,在项目开发期间针对很多问题也做了一些探索。谈不上经验,更称不上最佳实践,只是...

  • ArcBlock 博客 | 如何在几十个 Repo 中游刃有余?

    7月31日,ArcBlock研发副总裁陈天发朋友圈纪念他带领技术团队在7月里总共提交了134个pull request(注:软件托管网站GitHub的代码提交请求)突破了以往的纪录。如此...

  • 全球公认经典《Programming Ruby 中文版,第2版》全国发行!

    如果你想运用Ruby,这本书也是案头必备。所以,如果你已经决定要走入Ruby的世界,那么这本书是必经之路,而本不需要一篇“推荐序”。问题在于,我们为什么还要学习一种新的语言?特别是当Ruby整体上仍然是一个没有...

  • 装机必备 | Ubuntu 14

    /home/xiwang/.rvm/gems/ruby-2.0.0-p481@rails_4_0/bin/rails 异常处理 如果遇到了如下情况: $ gem install rails --version 4.0.4 --no-ri --no-rdoc ERROR: Could not find a valid gem '...

  • setting.xml文件,修改Maven仓库指向至阿里仓

    setting.xml文件,修改Maven仓库指向至阿里仓

  • 基于java的玉安农副产品销售系统的开题报告.docx

    基于java的玉安农副产品销售系统的开题报告

  • dev-c++ 6.3版本

    dev-c++ 6.3版本

  • 基于java的项目监管系统开题报告.docx

    基于java的项目监管系统开题报告

Global site tag (gtag.js) - Google Analytics