Rails 3.1 引擎:功能、历史与开发指南
1. 引擎概述
引擎是 Rails 3.1 的一项新特性,本质上是微型应用程序,能为现有应用增添额外功能,其运行方式与普通应用类似。例如 Devise 宝石(gem)就是一个引擎,此外还有 RailsAdmin 和 forem 等引擎。引擎允许开发者以宝石或插件的形式在不同应用间共享通用功能,这些功能可以是认证系统、评论引擎或论坛引擎等。只要有在多个应用中使用相同功能的需求,引擎就能派上用场。通过将引擎作为宝石或插件安装,并在应用的 config/routes.rb 文件中挂载,即可使用其功能。不同引擎的使用方法可能不同,需参考其附带的 README 或其他文档。
2. 引擎的历史
2005 年 11 月 1 日,James Adam 开始开发引擎插件。最初的引擎较为粗糙,但逐渐发展成更实用的工具,为如今 Rails 核心功能提供了灵感。不过,引擎的开发曾引发诸多争议,James 为此花费大量时间进行辩护。后来,社区逐渐接受了引擎的概念。
早期,引擎插件位于核心框架之外,其与 Rails 代码的衔接位置不明确。Rails 的更新可能会破坏引擎插件,导致用户在插件更新前无法升级到最新版 Rails。在 Rails 3 的开发过程中,决定将引擎作为核心特性,投入大量工作以确保其稳定性。将引擎纳入核心后,为其定义了明确的公共 API,新版本 Rails 发布时,引擎出现问题的可能性几乎为零。
部分相关工作在 Rails 2.3 中就已开始,当时可以实现非常基础的引擎,但不支持复制迁移文件和资产,也无法运行 Rails 生成器,文件需在实际应用中生成后再复制。此后,引
超级会员免费看
订阅专栏 解锁全文

10

被折叠的 条评论
为什么被折叠?



