2025年5月9日,星期五

新的指南 PR、Rails World 更新以及更多!

由 vipulnsward 发布

大家好,我是Vipul!让我们一起看看本周Rails代码库的更新。

Guides新PR待审阅
一个关于Rails应用程序模板指南的新Pull Request已经提交,它更新了Rails应用程序模板指南,并将其与Rails生成器指南合并。如果您熟悉这些领域,请审阅此PR并提交您的反馈!

Rails World更新!
查看关于日程安排、新的门票类型和可用性以及新的Rails at Scale活动的最新更新!

启用enqueue_after_transaction_commit时,将ActiveJob的enqueue回调推迟到提交之后
Active Job的around_enqueue回调会被推迟到数据库事务提交之后,但这仅在启用了enqueue_after_transaction_commit选项时才会发生。这确保了作业的enqueue逻辑(包括处理Sidekiq连接问题)仅在事务成功提交后才发生,从而防止作业过早执行。

允许将可重试的SqlLiterals传递给#where
此更新确保当一个可重试的SqlLiteral被提供给#where时,其可重试状态会得到保留。该修改调整了#build_where_clause和WhereClause中的内部处理,以维持原始SqlLiteral的可重试属性。

对更多SQLite查询使用TRUE和FALSE
此更改更新了Active Record的SQLite适配器,使其将布尔值表示为TRUEFALSE,而不是1和0。这提高了SQL的可读性,并符合标准的SQL布尔字面量。

将AR::QueryCache中的executor hooks设为私有
ActiveRecord::QueryCache已被重构,将其executor hooks设为私有,确保它们不会被外部访问或覆盖。此外,它还对这些hooks进行了重新组织,以提高清晰度,并与连接池中使用的结构保持一致。

在MemCacheStore#read_multi_entries中捕获与连接相关的错误
此更改通过添加对连接相关问题的错误处理来增强MemCacheStore#read_multi_entries方法。以前,在批量读取Memcached时发生的网络中断可能导致失败;现在这些错误会被妥善捕获,提高了分布式缓存场景下的弹性。

支持selenium-webdriver 4.32.0
此更改更新并增加了对selenium-webdriver 4.32.0版本的一些破坏性更改的支持。

您可以在此处查看所有更改的完整列表。
上周,我们有11位贡献者为Rails代码库做出了贡献!

下次再见!

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