2022年9月17日,星期六

Action Cable 中的重连处理、不再有 Coffeescript 以及新指南。

作者:petrik

大家好,我是Petrik,为您带来本周的 Rails 更新和一些 Hotwire 的消息。

向 ActionController::Parameters 添加 exclude? 方法

如果给定的键不在参数中,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 中

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

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

对于 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

本周的更新就到这里!

订阅以通过邮件获取这些更新。