2020年4月27日,星期一

本周 Rails - 安全发布、新邮件列表、新功能和重构

发布者:dodecadaniel

我是 Daniel,现在正居家隔离在纽约市的公寓里,努力保持健康。被最新的疫情新闻搞得不知所措?为什么不花点时间了解一些令人兴奋的 Rails 新闻呢?

安全修复

Rails 6.0.2.2 和 5.2.4.2 近期已发布,以修复 Action View 中的一个 XSS 漏洞。如果您运行的不是这些版本,那么是时候升级了。顺便,也是时候 升级到 Ruby 2.5.8、2.6.6 或 2.7.1 了。

Discourse 上的 Ruby on Rails

Ruby on Rails 邮件列表已迁移到 https://discuss.rubyonrails.org/。如果您想提出修改或新功能的建议、讨论文档或提问关于 Rails 的问题,这里就是您的最佳去处。

用模板名称注解 HTML 输出

如果您曾经在浏览器中打开 HTML 源代码,想知道哪些模板渲染了页面的哪个部分,那么这个功能就是为您准备的。config.action_view.annotate_template_file_names 会在渲染的输出中添加 HTML 注释,指示每个模板的开始和结束位置。我非常喜欢这个功能,也喜欢提交信息和 PR 描述中清晰的问题陈述。

快速生成一个指向 master 的 Rails 应用

如果您和我一样,希望在新的 Rails 功能合并后立即尝试。为什么还要等?现在,生成一个指向 master 的新 Rails 应用就像输入 rails new <app_name> --master 一样简单。

仅仅是改进文档

从文档中删除“仅仅”和“简单”这样的词语,可能看起来是一个小改动,但删除这些不必要的词语可以为那些正在挣扎的人带来显著更受欢迎的体验。😍

尽可能使用 index_by 和 index_with

我以前从未使用过 index_byindex_with,但看到这个 PR 让我想要尝试一下。它看起来肯定比 map { ... }.to_h 更漂亮。如果您真的喜欢这些方法,还可以通过新的 rubocop-rails cop 来强制执行。

还有大量的重构

Eileen 重构了 invert_predicatefetch_attribute,以摆脱一些 case 语句,转向更面向对象的方法。Aaron 重构了 PartialRenderer,将渲染单个对象和集合的类拆分出来。John 通过使 ActionView 渲染的插装 减少 DRY(有时 WET 代码更好!),进行了一些改进!

自上一期以来,已有 106 人贡献。查看 完整的更改列表,并保持健康!