是 Emmanuel……已经有一段时间没收到我的消息了。我很好,有一些合并的 pull 请求想与您分享。
MessageVerifier#inspect 和 KeyGenerator#inspect 不再显示机密 如果有人在控制台调用密码,就会泄露加密器的机密。通过覆盖 inspect 方法只会显示类名,我们可以防止敏感信息意外泄露。
Active Record 在返回、中断和抛出时提交事务 这个公共关系记录有很多历史。简而言之,Rails 7.1 将获得一个新的配置选项,用于定义事务块内的返回、中断和抛出会导致事务被提交还是回滚。我们举这个例子
Model.transaction do
model.save
return
other_model.save
end
当新的config.active_record.commit_transaction_on_non_local_return设置为false时,此事务在点击返回时将回滚,如果设置为true,则该事务将被提交。
记录常见的 ActiveStorage 问题 当将文件附加到has_many_attached关联时,默认行为是替换任何现有附件。但是,如果您希望保留现有附件并添加新附件,可以通过将Rails.application.config.replace_on_assign_to_many设置为false来实现。此公共关系正确记录了此行为。
指定何时生成 has_secure_token Rails 有一个has_secure_token方法,它使用SecureRandom::base58为模型生成一个 24 个字符的惟一令牌。通过此公共关系,可以通过on:选项指定在模型的生命周期中的什么时间生成令牌。此公共关系确保我们可以执行诸如
class User < ApplicationRecord
has_secure_token on: :initialize
end
通过传递on: :initialize,令牌是在after_initialize回调中生成的,而不是默认行为的before_*回调。
在过去十四天里,我们有37 位慷慨的贡献者。
今天就这些了!
有关来自Rails 的有趣提交、请求和更多内容的每周内部独家新闻。
订阅获取这些更新邮件。