10 个必备而且非常有用的 Ruby on Rails 4 Gems

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

 

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的简洁性,同时,相对于其它工具,它的规模化更好.

英文原文:10 Essential & Useful Ruby on Rails 4 Gems

译文出自:http://www.oschina.net/translate/10-essential-useful-ruby-on-rails-4-gems

责任编辑:林师授 来源: 开源中国社区 编译
相关推荐

2016-01-04 11:04:17

Web开发Ruby

2011-07-07 17:16:43

PHP

2009-02-09 11:20:06

Windows7Windows

2015-08-12 11:09:42

开发者设计原则

2020-06-15 10:29:10

JavaScript开发 技巧

2020-10-29 10:00:55

Python函数文件

2017-08-02 13:32:18

编程Java程序片段

2009-03-24 14:23:59

PHP类库PHP开发PHP

2023-02-19 15:22:22

React技巧

2014-02-09 09:50:49

PHP函数

2022-09-02 23:08:04

JavaScript技巧开发

2018-08-03 10:02:05

Linux命令

2023-06-13 15:15:02

JavaScript前端编程语言

2013-11-05 10:03:22

Eclipse功能

2013-06-14 14:57:09

Java基础代码

2013-08-21 10:31:22

HTML5工具

2021-03-09 09:14:27

ES2019JavaScript开发

2013-08-12 15:00:24

LinuxLinux命令

2022-06-27 19:01:04

Python应用程序数据

2013-08-13 10:46:51

LinuxLinux命令
点赞
收藏

51CTO技术栈公众号