Rails 4.1.0 版本号虽小,但它带来的好处不容小觑。它的意思是说,从 4.0.x 升级应该相对较容易,因为大部分更改都是新增或改进,而不是向后不兼容的更改。让我们来看看这些新增的好东西。
Spring 是我们新的应用程序预加载器。它使大应用程序中测试、rake 和生成器的运行速度大大加快。您可以将我们之前所拥有的内容视为命令行的 CGI 模式。每次运行 rake 时,整个应用程序都会从头开始加载,在命令完成的那一刻即被抛弃。有了 Spring,应用程序就是一个持久的进程,可以在所有命令中重复使用,因此只有第一次运行很慢。而且,我们会自动检测代码更改,并且只重新加载那些部分。它产生了很大的变化!
使用 Variants,您可以针对同一种 MIME 类型(HTML)采用不同的模板和动作响应。对于任何服务于移动客户端的 Rails 应用,它都是一颗灵丹妙药。现在,您可针对桌面、平板电脑和手机视图拥有单独的模板,同时共享所有相同的控制器逻辑。这是 Basecamp 混合原生/HTML 移动应用战略背后的秘诀:一个 Rails 应用服务于桌面浏览器、移动浏览器和原生移动应用。重复利用的好处巨大,并且生产力大幅提升。真的。
Enums 将一个仅限于几个选项的状态字段图案封装起来。这仅能添加一些语法糖,使 TinyInt 支持的状态字段变得美味可口,同时还能通过避免重复状态字符串来获得优化的好处。穷人状态机?不,只足够在大多数时候使用。
有了 Mailer 预览,您可以轻松直观地通过测试数据迭代您的 Action Mailer 视图,这样您就能获得和您的应用中其他视图相同的工作流。进行更改,立即重新加载以查看更改。简单得就像吃馅饼。这肯定胜过从必须转换为邮件模板的静态文件开始,或者尝试复制并粘贴日志文件中的 HTML 到浏览器中以查看它们(得了,您肯定这么做过!)。
最后,我们已承诺通过两个改变将生产密码从应用程序存储库中移出来。第一个是 secrets.yml,它为您提供一个方便的界面访问已通过 ENV 变量或部署脚本设置的秘密。默认情况下,它用于保护 cookie 完整性的秘密令牌,但您可以在应用中将它用于任何您需要的东西。第二个是我们已在 database.yml 中增加了对数据库 URL 的支持,而且在生成的文件中,我们将默认引用 ENV 支持的 URL。安全性万岁!
这只是礼品包中内容的一瞥。如果您想要了解具体过程,可以浏览我们 在 4-0-stable 与 v4.1.0 之间所提交的 5,200 次提交记录。没错,是五千次。见证这个全副武装、功能完备的社区的火力吧!
您还可通过深入了解 Yves 和 Godfrey 对 作为指南的作用的 4.1 发行说明 和 功能演练 所做的出色工作来消化变更内容并查看一些实际代码。
这些 gem 现已在 RubyGems 上线,因此,gem install rails
可让您获得最新信息。或者,您可以使用 v4.1.0 标记。
尽情享受,我们希望在两周后的 RailsConf 上见到您!