阅读更多

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 '...

  • (源码)基于 Koa2 的 FEBLOG API.zip

    # 基于 Koa2 的 FEBLOG API ## 项目简介 FEBLOG API 是一个基于 Node.js 和 Koa2 框架的 RESTful API 服务器,支持多种关系型数据库(如 PostgreSQL、MySQL、MariaDB、SQLite、MSSQL),并使用 Sequelize 作为 ORM。项目支持跨域请求、JSON 数据传输、JWT 身份认证等功能,适用于构建前后端分离的应用。 ## 主要特性和功能 跨域支持通过配置支持跨域请求。 数据传输格式支持 applicationxwwwformurlencoded、multipartformdata、applicationjson 格式的 POST、PUT、DELETE 请求。 JWT 身份认证通过 JWT 实现用户身份认证。 数据库支持使用 Sequelize ORM 支持 PostgreSQL、MySQL、MariaDB、SQLite、MSSQL 等多种数据库。

  • 存储器实验资料.zip

    存储器实验资料.zip

  • (源码)基于 Python 的知乎热榜爬虫及数据处理项目.zip

    # 基于 Python 的知乎热榜爬虫及数据处理项目 ## 项目简介 本项目基于 Python 编程语言,旨在实现知乎热榜的定时跟踪以及相关数据的存储与查询操作。通过爬虫技术获取知乎热榜问题的详细信息,将数据存入数据库,同时提供一系列 SQL 查询示例帮助用户熟悉 SQL 基本语法,还包含使用 Selenium 实现 GPA 计算器的功能。 ## 项目的主要特性和功能 1. 知乎热榜爬虫定期爬取知乎热榜,获取问题摘要、描述、热度、访问人数、回答数量等基本信息,并将数据存入数据库。 2. 可定制爬虫逻辑用户可以选择删除已有代码从零开始编写,也可以完成代码填空实现相应功能。 3. GPA 计算器使用 Selenium 模拟点击登录 WebVPN,登录 info 并访问成绩单页面,查询成绩并计算每学期的绩点。 4. SQL 练习提供一系列基于 MySQL 数据库的 SQL 查询练习,帮助用户熟悉基本的 SQL 语法,如添加新列、数据填充、关键词查询等。

  • (源码)基于C语言的学生信息管理系统.zip

    # 基于C语言的学生信息管理系统 ## 项目简介 这是一个基于文本界面的学生信息管理系统,旨在通过简单的文本输入实现学生信息的添加、查找、修改和删除操作。系统采用链表数据结构存储学生信息,并支持文件读写功能以持久化存储数据。 ## 项目的主要特性和功能 ### 主要特性 1. 文本界面操作用户通过控制台输入指令完成操作。 2. 链表数据结构使用链表存储学生信息,方便信息的添加和删除。 3. 文件操作支持将学生信息数据保存到文件,以及从文件中读取数据。 ### 功能详解 登录验证用户需输入正确的学号和密码才能进入系统。 主界面展示显示系统主菜单,包括学生信息查找、删除、添加、修改和录入等功能。 学生信息查找根据学号查找学生信息。 学生信息删除根据学号删除学生信息。 学生信息添加可以添加新的学生信息到系统中。 学生信息修改可以修改已存在的学生信息。 学生信息录入展示所有存储的学生信息。 辅助功能

Global site tag (gtag.js) - Google Analytics