2016 年 9 月 30 日,星期五

本周 Rails:Action Cable 缓存写入,回调移除冗余,以及更多!

由 kaspth 发布

新兵,你来到了新边疆! 在火星轨道附近徘徊,你思索着

火星人是否喜欢冰镇的马提尼?

所有 这位船员 所知道的是,他更喜欢在 Rails 上获得突发新闻——好消息,各位:我们正朝着这样的交付方向前进!

本周的多行星贡献者

本周有 22 位贡献者加入了贡献者名单,他们的宝贵提交为所有人带来了福祉。你们配得上这颗金心:💛

Action Cable 缓存套接字写入

引用描述

套接字有时会阻塞,导致线程被占用,从而降低系统吞吐量。

切换到增量写入可以使 Action Cable 分散写入,这样被阻塞的套接字就不会阻塞到其他套接字的写入。

回调减少了堆栈跟踪行数

回调——before_action 及类似函数——在本周通过“回归”向前迈进:回归堆栈跟踪并移除自身的痕迹。试试看,麦克弗莱!

查看描述中的示例,它在实际应用中更容易看到。

改进

Rails 的测试运行器支持 after_run 钩子

Rails 测试运行器已全面切换到使用 minitest 的 autorun,因此它获得了对 Minitest.after_run 钩子的支持。

autorun 还能防止测试运行两次,这在某些情况下可能会发生。但现在也已修复。

修复

不要泄露 ActiveModel::Errorsdefault_proc

以前,在通过 to_hashas_json 序列化 ActiveModel::Errors 时,default_proc 会隐藏在引擎舱中,并在船员离开轨道时弹出。

这艘船上再也没有这种外星人的恶作剧了!

使 :as 选项也设置请求格式

在 Rails 5 中,你可以让你的测试请求有 as,即 as: :json

在上周将该选项添加到 ActionController::TestCase 后,我们又一次打开了舱门,确保格式是正确的。

总结

本周就到这里了,和往常一样,还有更多更改无法一一列出,请随时在此 查看!

下周再见!