大家好,我是Wojtek。让我们一起来看看本周Rails的最新消息。🎅
入门教程
一个新的pr(pull request)已提交供社区审查:新的入门教程将向您展示如何使用Rails 8的所有开箱即用功能构建一个电子商务应用程序——直接部署。这将是指导新Rails开发者未来多年使用的旗舰教程,因此我们非常希望得到您的反馈。
Rails 基金会欢迎 1Password 加入核心成员
扩大核心会员范围意味着更强的基础,更多的长期增长和可持续性,最重要的是:为Rails社区提供更多支持。
支持加载SQLite3扩展
sqlite3 gem v2.4.0 引入了对加载作为关键字参数传递给Database.new的扩展的支持。此pr利用了该功能,允许使用文件系统路径或响应to_path方法的模块名称在config/database.yml文件中配置扩展。
分片选择器支持粒度数据库连接切换
在config.active_record.shard_selector中引入了一个新的配置选项class_name,以允许应用程序指定由分片选择中间件切换的抽象连接类。默认类为ActiveRecord::Base。例如,此配置指示ShardSelector使用AnimalsRecord.connected_to切换分片。
config.active_record.shard_selector = { class_name: "AnimalsRecord" }
Action Controller概述和高级主题指南
它更新了Action Controller概述Rails指南,并创建了一个名为“Action Controller高级主题”的新指南。可以在edge guides上预览。
不要将redis包装两次ConnectionPool
在使用ActiveSupport::Cache::RedisCacheStore时,如果:redis选项已经是ConnectionPool,则避免将redis包装在ConnectionPool中。
为预加载链接添加CSP nonce
如果策略配置了nonce,则预加载链接标签需要添加CSP nonce,否则浏览器将不会加载这些资源。
使用_N作为并行测试数据库后缀
以前,使用-N作为后缀,这给不支持数据库名称中包含连字符的RDBMS带来了问题。
insert_all/upsert_all后重置关系
批量插入/upsert方法现在将在关系上调用reset,与update_all方法的行为相匹配。
您可以在这里查看所有更改列表。 上周,我们有29位贡献者对Rails代码库做出了贡献!
下次再见!
订阅以通过邮件获取这些更新。