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

Rails 3 首个 Beta 版发布

  • 2010-02-22
  • 本文字数:1073 字

    阅读完需:约 4 分钟

自上个版本的 Ruby on Rails 发布不到一年,在超过 4000 次提交之后, Rails 3.0 的 beta 版已经发布

版本号从 2.3 升至 3.0 绝对当之无愧,因为 Rails 3 并不仅仅是一些小修小改,它还将 Rails 2.3 和先前的竞争者 Merb 合并起来,将各自的优点合二为一:

Merb 团队加入后带来的都是些很棒的主意,包括关注到框架中晦涩难懂的部分,更快更轻量级的内部实现,以及一些“美味可口”的 API。

除了众多内部实现的清理以外,Rails 3 当然也增添了新的特性。以下摘自发布说明

  • 引入全新的 Router,强调 RESTful 的声明(详见 Yehuda Katz 的介绍
  • 全新的 Action Mailer API,效仿自 Action Controller(详见 Mikel Lindsaar 的介绍
  • 全新的 Active Record 链式查询语言,基于关系代数构建(详见新 API
  • 使用 Unobtrusive JavaScript 助手与 Prototype 或 jQuery 以及其他 JS 框架进行集成(内联 JS 的终结)
  • 使用 Bundler 进行显式的依赖管理

安全则是另一个受到重点关注的领域,正如 Yehuda Katz 在接受 SD Times 采访时说道

我们详细研究了已知现存的安全缺陷,这主要基于 Twitter 上的讨论,以及别人抱怨说:“你们的安全工具现在就是个体力活”。[为了避免跨站脚本缺陷 …] 我们仔细检查了整个 Rails 的内部实现,将所有的 form 标签标记为 safe,这解决了绝大部分的问题,用户就轻省得多了。[…] 现在偶然出现一个 XSS 攻击已经不太可能了。

要了解更多关于 Rails 3.0 的信息,请阅读发布说明,里面详细地介绍了每个变化。Yehuda 还写了篇过去一年的回顾,高屋建瓴地(相比较发布说明而言)对变化进行了总结和概括。 Jeremy McAnally 在博客上开始编写系列文章“将技术和代码迁移到 Rails 3”。系列的第一部分对Rails 经历的变化进行了概要性的介绍,第二部分名为“通往升级之路”。 RubyInside 收集了 36 条 Rails 3.0 相关的链接

Rails 3.0 能够在 Ruby 1.8.7、Ruby 1.9.2 和 JRuby 上工作,但目前还不能运行在 IronRuby 上。因为目前的 IronRuby 主干(将要发布的 1.0 版本)仅支持 1.8.6,而 Rails 则需要部分 1.8.7 的特性。在 IronRuby 1.0 以后,项目将会切换到对 1.9 的支持上,这样 IronRuby 就能够支持 Rails 3。目前在 IronRuby-core 邮件列表中,尚有人讨论是否在IronRuby 1.0 上增加1.8.7 的特性,来使得Rails 3 可以正常运行。

想要了解是否可以尝试将自己的应用升级到3.0,可以去看看新 RailsPlugins.org 维护的一个插件目录,其中包含了插件对于 Rails 3.0 的兼容情况。

最终版的发布日期尚未宣布。你对 Rails 3 有什么想法?你已经为升级做好准备了吗?

查看英文原文: First Rails 3 Beta Released

2010-02-22 08:032230
用户头像

发布了 80 篇内容, 共 19.2 次阅读, 收获喜欢 5 次。

关注

评论

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

【我和openGauss的故事】openGauss 3.1.1企业版主备集群升级至5.0.0操作指南

daydayup

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

威廉META

【我和openGauss的故事】openGauss索引推荐功能测试

daydayup

C++语法中bitset位图介绍及模拟实现

二哈侠

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

EOSdreamer111

局域网与Kubernetes内部网络如何互通

不焦躁的程序员

k8s

读:《Google软件工程》 之 “度量工程”

术子米德

软件工程

数字鸿沟,让气候脆弱者更脆弱

脑极体

AI气象

一个SAT求解器及其JavaScript实现

Yuet

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

股市老人

openGauss数据库源码解析系列文章——安全管理源码解析(三)

daydayup

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

BlockChain先知

【我和openGauss的故事】kettle连接openGauss 5.0.0 数据库

daydayup

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

鳄鱼视界

15. 系统内置模块

茶桁

Python 模块

网上正规实体平台现场同步yscy898

新百盛娱乐yscy898

上线规则 微咨询 Fil币现在进场合适吗? 简单查询

局域网与Kubernetes内部网络如何互通

不焦躁的程序员

k8s

【我和openGauss的故事】openGauss初体验

daydayup

openGauss数据库源码解析系列文章——安全管理源码解析(四)

daydayup

如何通过Python将JSON格式文件导入redis?

百度搜索:蓝易云

Python json redis Linux 运维

对话文本数据的珍贵贡献:训练大模型赋予智能与情感理解

来自四九城儿

读:《Google软件工程》 之 “软件工程”

术子米德

软件工程

局域网与Kubernetes内部网络如何互通

不焦躁的程序员

k8s

【我和openGauss的故事】构建openGauss开发编译提交一体化环境

daydayup

【我和openGauss的故事】openGauss5.0企业版集群一主一备安装V1.0

daydayup

【我和openGauss的故事】openGauss主备集群节点的添加与删除

daydayup

从 Zebec Protocol 长期布局看,ZBC 通证的潜在应用场景

西柚子

Python 使用ConfigParser操作ini配置文件教程。

百度搜索:蓝易云

云计算 Linux 运维 ConfigParser INI

对话文本数据是培养大模型的智能与交流之源

来自四九城儿

2023-08-12:用go语言写算法。实验室需要配制一种溶液,现在研究员面前有n种该物质的溶液, 每一种有无限多瓶,第i种的溶液体积为v[i],里面含有w[i]单位的该物质, 研究员每次可以选择一瓶

福大大架构师每日一题

左程云 福大大架构师每日一题

【我和openGauss的故事】体验openGauss 5.0极简版一主一备部署,延时回放和主备切换功能

daydayup

Rails 3首个Beta版发布_Java_Mirko Stocker_InfoQ精选文章