大家好!我是 Andy,又为大家带来了《本周 Rails》系列。本周我们将涵盖两周的变更,让我们马上开始吧。
action_controller_base 和 action_controller_api 添加钩子此更改将以前的一个 Action Controller 钩子拆分为两个。即 action_controller_base 和 action_controller_api。这样可以在启动时加载更少的代码。
您是否需要加载特定类型的全部 fixture?调用不带参数的 fixture 访问器方法将返回所有 fixtures。
HashWithIndifferentAccess 实现 fetch_values在 Rails 中为 HashWithIndifferentAccess 添加了 fetch_values,这已在 Ruby 2.3.0 中添加。通过使用 method_defined? 条件性地添加了支持。
如果您的应用程序使用了大量数据库连接,那么这个变更值得一看。作者表示,在部署此变更后,他们将峰值打开的数据库连接数减少了 13%。
此更改恢复了接受 ecmascript 进行解析的能力。作者还声明 JS 响应不应修改 DOM。快来看看吧!
before_destroy 的文档您是否知道 before_destroy 钩子应该在 dependent: destroy *之前*设置才能正常工作?这篇文档说明了这一点。
如果您对冻结字符串和 Immutable String 的用法(Matz 说“Ruby 3 中的所有字符串字面量都是不可变的(已冻结)”)的变化感到好奇,请看看这个。
呼!这仅涵盖了四月初的一些变更。还有许多其他很棒的 pull requests 供您浏览,这些 PR 来自 27 位贡献者,其中包括 5 位首次贡献者。做得好!
下周再见!