####
大家好!这里是来自俄勒冈州波特兰的Tim,报道本周Rails社区的又一个稳健发展。为了抗议愚人节的典型胡闹,本期内容将100%不包含任何玩笑。真的!
本周有29位可爱的人士为Rails贡献了代码,其中包括5位首次贡献者!向他们致以一个大大的周五拥抱!如果你想加入他们,请随意查看当前问题列表以获取灵感 ❤️
你是否曾经发现自己写过像 User.count.zero? 这样笨拙的代码?现在你可以使用更简洁的 User.none?,以及 User.one? 和 User.empty?,因为这三个方法刚刚被添加进来。
本次修订的作者对此解释得最好:“将其从100个降至4个”。这将减少大多数人可能不需要的大量数据库连接。
就像你可以订阅 Action Controller 的 #process_action 一样,在这次精彩的添加之后,你现在也可以订阅 ActionCable::Channel::Base#perform_action。快来接收通知吧!
本周修复了一个微妙的 bug,即启用预编译语句的连接,在之前运行过的查询再次运行时,如果禁用了预编译语句,可能会失败。这是因为其命中与启用预编译语句的查询相同的缓存。现在预编译语句拥有自己的缓存,从而解决了这个问题。太棒了!
当运行不带参数或带有 --help 标志的 rails runner 时,会显示一些关于如何将 runner 用作 shebang 行的信息。不幸的是,如果你使用 Spring,它会错误地显示命令路径,因为 Spring 会改变一个与运行命令相关的变量 (bin/rails)。这个 bug 已经在这个修订中修复了!
之前,当使用 Puma 运行时发出 rails restart 命令时,它会因为 Puma 尝试检查 ARGV 来决定如何处理而无法再次启动。修复方法是修改 Puma,允许其配置选项被 Rails 覆盖。做得好!
以上是本周 Rails 要闻的全部内容。一如既往,有很多我们无法在此一一覆盖的事情,所以请自行查看变更。
下次再见!