最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

即将来临的 Rails 4.0 将放弃 Ruby 1.8 支持,改进后台任务、缓存等多项内容

  • 2012-09-27
  • 本文字数:1186 字

    阅读完需:约 4 分钟

2012 年 1 月发布的 Rails 3.2 在这一年里进行了一些日常更新——几周前刚发布了 3.2.8 版本。去年,Rails/master 分支已经切换到了 4.0.0.beta 版本,4.0 版本的发布暂时安排在2012 年夏季。虽然没有公布新的发布日期,但Rails 4.0 的组成越来越明朗了:在 Boston RB 的一场演讲里,Rails 的贡献者 Prem Sichanugrist 大概介绍了一下 Rails 4.0 里将发生的变化。主要的特性也罗列在这份版本说明草案里,其中包括:

  • 只支持 Ruby 1.9.3
  • 强参数
  • Queue API
  • 缓存改进

去年, DHH 宣布了放弃 Ruby 1.8 的决定,因此 Rails 4.0 不支持 Ruby 1.8 也没什么好奇怪的,距离 Ruby 1.8 的末日又近了一步。

强参数提供了 mass-assignment 保护,其做法是将参数移动到正确的地方:放在控制器里,而非模型里。新的方法在过滤参数时更加方便,哪个参数是允许的也更加明显了。此外,“可以将参数标记为必须的,在预先定义的 raise/rescue 流程中最终轻松流转到 400 Bad Request。”也可以通过插件在Rails 3.2.8 里使用强参数。

ActiveSupport::Queue继承自标准的 Ruby 队列,在一个后台线程里运行队列任务。任务就是一个简单的对象,带有 _run_ 方法。为了让测试更简单,队列系统是可配置的,可以改为同步处理任务。

Cache Digests 是一个新的插件,让 Russian-doll 缓存方案更易维护,这种缓存方案需要手工查找并增加依赖模版的版本号:

深入 Cache Digests:有了这个插件,视图中所有对#cache 的调用都会自动追加一段该模版及其所有依赖的摘要!因此,不再需要手动增加你正修改模版的版本号,或者关心那些依赖于此的其他模版,

Rails 4 还将支持 HTTP/1.1 PATCH 方法

多个扩展了 Hypertext Transfer Protocol(HTTP)的应用程序需要一种特性来进行部分资源修改。现有的 HTTP PUT 方法只允许完整替换文档。[RFC 5789] 添加了一个新的 HTTP 方法——PATCH,用它可以修改已有的 HTTP 资源。

PATCH 和 PUT 一样,都会被映射为 _update_ 方法,因此不会破坏向后兼容性。 Rails Issue Tracker 上的讨论中有更多关于其动机和结果的信息。

其他的新特性和改变包括导出Schema 的缓存 PostgreSQL 数组支持、用来清理重复路由的 Routing Concerns 以及对 ActiveRecord::Relation 的更新。

新版本一如既往地祈免了一些过时的特性。版本说明草案里已经包含了一份祈免组件和方法的清单。其中一些东西只是移到了自己的gem 里,比如ActiveRecord::SessionStore 和ActiveResource。Prem Sichanugrist 在他的访谈里概述了新的祈免策略:Rails 4.0 一经发布,Rails 3.1 就将完成自己的使命,一些3.2 的特性会带有祈免警告,这些特性会在Rails 4.1 版本中被移除。这应该能实现3.2 到4.0 的平滑升级,不会带来大的风险。

目前还没有发布Rails 4.0 的RC 版本,但应该会在圣诞前发布。

查看英文原文: Upcoming Rails 4.0 Release Drops Ruby 1.8 Support, Improves Background Jobs, Caching And More

2012-09-27 09:382768
用户头像

发布了 135 篇内容, 共 58.7 次阅读, 收获喜欢 43 次。

关注

评论

发布
暂无评论
发现更多内容

Flink与Spark Streaming在与kafka结合的区别!

爱好编程进阶

Java 程序员 后端开发

【ICDE 2022】稀疏模型训练框架HybridBackend,单位成本下训练吞吐提升至5倍

阿里云大数据AI技术

深度学习 推荐系统 开源项目

2022年开发者时间报告

翊君

CGBTN2110-DAY07总结复习

爱好编程进阶

Java 程序员 后端开发

Github上都在疯找的阿里内部“全栈技能修炼”终于来了

爱好编程进阶

Java 程序员 后端开发

JAVA为什么需要注解?

源字节1号

七大章节解读「中台」的前世今生

菜根老谭

中台 中台架构

Docker:第二章:部署项目

爱好编程进阶

Java 程序员 后端开发

2个月成功逆袭!最新分享阿里(Java岗

爱好编程进阶

Java 程序员 后端开发

Apriori算法详解

爱好编程进阶

Java 程序员 后端开发

HarmonyOS 94个JS/eTS开源组件首发上新,肯定有你要用的一款!

HarmonyOS开发者

HarmonyOS ArKUI 3.0

Byte和bit

爱好编程进阶

Java 程序员 后端开发

Github标星28K+,这款可视化的对象存储服务真香

爱好编程进阶

Java 程序员 后端开发

Hadoop 3

爱好编程进阶

Java 程序员 后端开发

2020java面试题-chukou-chengzhang

爱好编程进阶

Java 程序员 后端开发

C++std命名空间和头文件详解

爱好编程进阶

Java 程序员 后端开发

Dubbo的超时和重试

爱好编程进阶

Java 程序员 后端开发

GitHub成功收获87

爱好编程进阶

Java 程序员 后端开发

33岁跳槽无路,濒临绝望受贵人指点,拼尽全力阿里offer在兜里

爱好编程进阶

Java 程序员 后端开发

GitHub上最牛逼的Java教程,标星yyds:算法

爱好编程进阶

Java 程序员 后端开发

10个 解放双手的 IDEA 插件,少些冤枉代码

爱好编程进阶

Java 程序员 后端开发

11-SpringSecurity:Session共享

爱好编程进阶

Java 程序员 后端开发

2021年阿里高频Java面试题:分布式+中间件

爱好编程进阶

Java 程序员 后端开发

3 个方法,教你提升程序员的自我价值

爱好编程进阶

Java 程序员 后端开发

秒云助力上海金融信息技术应用创新联合攻关基地正式上线信创容器云平台

MIAOYUN

云原生 信创 智能运维 一云多芯解决方案

40个W年薪蚂蚁团队Java岗技术4面分享:HashMap+线程池

爱好编程进阶

Java 程序员 后端开发

7-21 求前缀表达式的值 (25 分)(思路详解)

爱好编程进阶

Java 程序员 后端开发

Dropzone

爱好编程进阶

Java 程序员 后端开发

GC:你要用什么方式把我丢掉?

爱好编程进阶

Java 程序员 后端开发

Builder构建者模式,将复杂对象的创建过程与其表示分离,活学活用才是王道

爱好编程进阶

Java 程序员 后端开发

Day308

爱好编程进阶

Java 程序员 后端开发

即将来临的Rails 4.0将放弃Ruby 1.8支持,改进后台任务、缓存等多项内容_Web框架_Mirko Stocker_InfoQ精选文章