2016年4月1日 星期五

本周 Rails:新的查询方法,Action Cable 增强等!

发布者:imtayadeway

####

大家好!这里是来自俄勒冈州波特兰的Tim,报道本周Rails社区的又一个稳健发展。为了抗议愚人节的典型胡闹,本期内容将100%不包含任何玩笑。真的!

本周 Rails 贡献者

本周有29位可爱的人士为Rails贡献了代码,其中包括5位首次贡献者!向他们致以一个大大的周五拥抱!如果你想加入他们,请随意查看当前问题列表以获取灵感 ❤️

改进

Active Record 增加了几个额外的查询方法

你是否曾经发现自己写过像 User.count.zero? 这样笨拙的代码?现在你可以使用更简洁的 User.none?,以及 User.one?User.empty?,因为这三个方法刚刚被添加进来。

Action Cable 的默认工作线程池大小已大幅降低!

本次修订的作者对此解释得最好:“将其从100个降至4个”。这将减少大多数人可能不需要的大量数据库连接。

通知现在可以钩入 Action Cable

就像你可以订阅 Action Controller 的 #process_action 一样,在这次精彩的添加之后,你现在也可以订阅 ActionCable::Channel::Base#perform_action。快来接收通知吧!

修复

预编译语句将拥有与非预编译语句分离的缓存

本周修复了一个微妙的 bug,即启用预编译语句的连接,在之前运行过的查询再次运行时,如果禁用了预编译语句,可能会失败。这是因为其命中与启用预编译语句的查询相同的缓存。现在预编译语句拥有自己的缓存,从而解决了这个问题。太棒了!

使用 Spring 运行时,rails runner 现在显示正确的命令名称

当运行不带参数或带有 --help 标志的 rails runner 时,会显示一些关于如何将 runner 用作 shebang 行的信息。不幸的是,如果你使用 Spring,它会错误地显示命令路径,因为 Spring 会改变一个与运行命令相关的变量 (bin/rails)。这个 bug 已经在这个修订中修复了!

使用 Puma 运行 rails restart 现在可以正常工作了!

之前,当使用 Puma 运行时发出 rails restart 命令时,它会因为 Puma 尝试检查 ARGV 来决定如何处理而无法再次启动。修复方法是修改 Puma,允许其配置选项被 Rails 覆盖。做得好!

总结

以上是本周 Rails 要闻的全部内容。一如既往,有很多我们无法在此一一覆盖的事情,所以请自行查看变更

下次再见!