Petrik 在此为您带来上周 Rails 及其相关项目的活动更新。
默认情况下,模板会接受任何 locals 作为关键字参数。要定义模板接受哪些 locals,请添加 locals 魔术注释
<%# locals: (message:) -%>
<%= message %>
尝试第二次查找 find_or_create_by 是否命中唯一性约束 对于大多数情况下预期记录已存在的情况,可以通过在 create 因 ActiveRecord::RecordNotUnique 失败时重试 find 来使 find_or_create_by 免受竞态条件的影响。这假设表具有适当的唯一性约束,否则 find_or_create_by 仍会导致记录重复。
remove_check_constraint 方法现在接受 if_exists 选项。如果设置为 true,则在检查约束不存在时不会引发错误。
为 CHANGELOG 格式添加 linter 如果您添加或删除了功能、提交了错误修复或添加了弃用通知,则 PR 应包含 CHANGELOG 条目。为防止 CHANGELOG 中的不一致,已添加 linter。
为 PostgreSQL 添加 drop_enum 迁移命令 这与 create_enum 是相反的操作。在删除枚举之前,请确保已删除依赖于它的列。将指南现有的 Kindle 版本从 .mobi 更新为 .epub 随着 Kindle 停止支持 .mobi 格式,这使得指南可以作为 .epub 提供。
向 routes 命令添加 –unused 选项以检测冗余路由
随着时间的推移,Rails 应用可能会因为路由过多而启动缓慢。此命令的新选项可用于检测已绘制但实际上无效的路由。
自上次以来,有 24 人 为 Rails 贡献了力量。
Hotwired 世界本周也有大量活动。
发布 Turbo v7.2.0-beta.2 该版本基于 v7.2.0-beta.1 版本,该版本引入了大量新功能和错误修复。
当来自帧内部的响应缺少匹配的帧时,会触发 turbo:frame-missing 事件。例如,如果帧丢失的原因是访问(例如,会话过期),则可以使用 { action: “replace” } 调用 visit() 来从 Turbo 的页面历史记录中删除当前页面。
当 <turbo-stream> 元素连接到文档时,所有包含的 <script> 元素都将被激活。
此更改将在创建快照时保存 <select> 标签的值,以便在您在历史记录中向后或向前导航时,表单字段不会被重置。
本周内容就到这里。下次再见!