2022 年 9 月 17 日,星期六

处理 Action Cable 中的重新连接,没有更多 Coffeescript 和一个新指南。

由 petrik 发布。

嗨,我是 Petrik,展示本周 Rails 更新和一些 Hotwire 新闻。

将 exclude? 方法添加到 ActionController::Parameters

如果给定键不存在于参数中,则exclude? 返回true。它与include? 相反。添加此方法可以使事情与 Hash 更加一致。

params = ActionController::Parameters.new(id: 1)
params.exclude?(:name) # => true
params.exclude?(:id) # => false

添加通过 connected 回调处理重新连接的功能

如果订阅者在连接丢失时错过一些消息,这会允许他们使用connected() 回调处理重新连接。

consumer.subscriptions.create("ExampleChannel", {
  connected({reconnected}) {
    if (reconnected) {
      ...
    }
    else {
      ...
    }
  }
});

将 Puma 添加到引擎的 Gemfile 中

随着 Ruby 标准库中删除 WEBrick,引擎中的虚拟应用程序将无法启动。将 Puma 添加到 Gemfile 可以确保它开箱即用。

将 ssl-mode 选项添加到 dbconsole 命令和 MySQLDatabaseTasks

对于 MySQL,验证数据库服务器的身份需要将 ssl-mode 选项设置为 VERIFY_CA 或 VERIFY_IDENTITY。以前忽略了 dbconsole 命令和创建数据库等数据库任务的此选项。

将 rails-ujs 转换为 ES2015 模块

rails-ujs 代码库是 Rails 代码库中唯一剩下的 Coffeescript。现在,它已迁移为使用 ES2015 模块和 Rollup。

添加错误报告指南Rails 7.0 中引入了 错误报告器接口。它提供了一个通用的接口来报告错误,并提供了一个适配器 API 以允许使用你选择的的服务。它现在有自己的指南!

自上周以来,Rails 有 23 位贡献者

在 Hotwire 世界中,本周为 Turbo 发布了一个新版本:v7.2.0-rc.2

本周到此结束!

订阅以获取邮件发送的这些更新。