Rails 7.0 发布,实现愿景:真正的全栈 Web 开发方法

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Rails 是一个 Web 应用程序框架,是 Ruby 最早也是最出名的一个框架,其中包括根据模型-视图-控制器(MVC) 模式,创建 Web 应用程序所需的所有内容 。Rails 可以说是 MVC 开发的先驱者,了解 MVC 模式是了解 Ra...

Rails 是一个 Web 应用程序框架,是 Ruby 最早也是最出名的一个框架,其中包括根据模型-视图-控制器(MVC) 模式,创建 Web 应用程序所需的所有内容 。Rails 可以说是 MVC 开发的先驱者,了解 MVC 模式是了解 Rails 的关键。

Rails 7.0 是一个大版本,实现了一个愿景:一种真正的全栈 Web 开发方法,以可以同时应对前端和后端的挑战。比如 Rails 应用有新的默认选择: Hotwire,它的 Turbo 和 Stimulus 组合几乎包含所有增强用户体验的工具;又或者无需将 Webpack 与 Webpacker 紧密耦合,Rails 7.0 可以使用新的 jsbundle -rails 集成将任何 JavaScript 打包器松散结合,无论是 esbuild、rollup.js 或是Webpack。

此版本还有相当多更新项,下面摘录一些较为重要的更新内容作介绍:

活动记录(Active Record)支持工作中加密

Rails 7.0 向 Active Record 添加了活动记录加密属性 encrypted attributes to Active Record,,除了传统的静态和传输中覆盖之外,应用程序还可以提供工作中加密(at-work encryption)。

加密敏感属性会增加一个额外的安全层,就算恶意攻击者获取了数据库、快照或者日志的访问权限,也看不懂加密信息,另外,通过使用 Active Record Encryption,可以在代码级别中定义应用敏感信息的构成。

点此查看关于使用加密属性的完整指南

使用 Marginalia 样式标记跟踪查询来源

大概十年前(2012),Rails 引入基于 Basecamp 的 Marginalia:使用 SQL 注释标记来跟踪查询来源。现在这个外部 gem 已经作为 QueryLogs 上传到 Active Record 中

异步查询加载

如果有一个控制器操作需要加载两个不相关的查询时,Rails 7.0 可以通过 Relation#load_async 并发执行。

比如:以前如果有三个复杂的查询,每个查询需要 100 毫秒,那么就必须先花费 300 毫秒来逐一执行它们。现在可以并行运行,总共只花费 100 毫秒。

Zeitwerk

Rails 的自动加载是它的特性之一,不过老的 const_missing 方法有一系列问题,因此引入新的 Zeitwerk 代码加载器 完全取代它。比较老的应用升级会比较麻烦,可查看完整的升级指南

其他一些亮点

更多详尽内容可以在更新公告中查看

 


以上所述就是小编给大家介绍的《Rails 7.0 发布,实现愿景:真正的全栈 Web 开发方法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

CSS

CSS

麦克法兰 / 江苏东南大学 / 2007-6 / 65.00元

《CSS(使用指南)(影印版)》主要内容:层叠样式表(CSS)能让你内心的设计思想迸发出来并得以实现。不过,将CSS与网站底层的HTML页面进行整合是一件非常困难的工作,有时甚至复杂得令人沮丧——这导致多数Web设计者不得不放弃一些奇思妙想。《CSS: The Missing Manual》可以消除Web设计工作的痛苦,并且带给你: HTML——重新入门。如果你是HTML新手,你会学到如何以......一起来看看 《CSS》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具