大家好,我是 zzak。让我们一起来看看本周 Rails 代码库的更新内容。
Rails World 2024 下周举行
祝所有前往多伦多的人旅途愉快!所有演讲内容都将被录制并发布在 Rails YouTube 频道 上,请订阅以便收到通知。
[RF 指南] Active Record 验证
Rails 基金会仍在努力更新指南,这次他们对 Active Record 验证指南进行了修改。请查看它并帮助他们发现任何问题!
添加了对每个控制器使用多个速率限制的功能
通过此 PR,您现在可以在控制器中添加多个 rate_limit
定义。
删除 Sucker Punch Active Job 适配器
Sucker Punch 存在于 ActiveJob 之前,但最终使用了与异步适配器类似的代码。此适配器将在 Rails 的未来版本中删除。
默认情况下在开发容器中不包含 redis
在 Rails 8 中,新生成的应用程序将默认使用 Solid gems,它们不依赖于 Redis。
在 add_enum_value 中添加 if_not_exists 选项
此 PR 添加了对使用 PostgreSQL 选项 IF NOT EXISTS
的支持,该选项在通过 add_enum_value
添加枚举值时使用。
在检测 ActiveSupport::Cache::Store delete 时包含选项
现在 cache_delete.active_support
和 cache_delete_multi.active_support
事件将包含传递给 delete 方法的选项。
不再应该使用 sprockets 启动新应用程序
在生成新的 Rails 应用程序时,--asset-pipeline
标志将不再接受“propshaft”或“sprockets”作为参数。
与 Kamal 2 兼容的配置
Kamal 2 为大家带来了自动 SSL 和多应用程序部署功能。以及其他更新,例如更简单的构建器、别名和密钥。
在控制台中将“config.active_record.attributes_for_inspect”设置为“:all”
在 Rails 7.2 中,ActiveRecord::Core#inspect
变得可配置,但人们注意到生产环境中的控制台没有显示任何属性。此 PR 将默认值设置为之前人们预期的行为。
支持一次删除多个表
此 PR 使您可以将多个名称传递给 drop_table
方法。
对 ActionController::Live 使用线程池
正如标题所述,现在使用线程池在请求之间重用线程。
添加 Parameters#expect 以安全地过滤和要求参数
此 PR 添加了一种处理参数的新方法,可以让您更好地控制在控制器操作中需要接收什么。
# Before
params.require(:table).permit(:attr)
# After
params.expect(table: [ :attr ])
您可以查看完整的更改列表 这里。 过去一周,Rails 代码库有 37 位贡献者!
下次再见!
订阅 以接收这些更新邮件。