你好,我是 zzak。本周时间较短,但我们还是来看看吧。
弃用 Hash#except 核心扩展
Rails 8.0 将只支持 Ruby 3.1 或更高版本。Ruby 3.0 中已原生添加了 except 方法,因此这部分代码现在已失效。
引入 ActiveModel::AttributeAssignment#attribute_writer_missing
为实例提供机会,以优雅地处理未知属性的赋值。
class Rectangle
include ActiveModel::AttributeAssignment
attr_accessor :length, :width
def attribute_writer_missing(name, value)
Rails.logger.warn "Tried to assign to unknown attribute #{name}"
end
end
rectangle = Rectangle.new
rectangle.assign_attributes(height: 10)
# => Logs "Tried to assign to unknown attribute 'height'"
将“cvv”和“cvc”作为默认参数添加到新应用中,以进行过滤。
对于新应用,此 PR 将 cvv 和 cvc 添加到 ActiveSupport::ParameterFilter 的默认值中。
确保 SQLite 事务默认使用 IMMEDIATE 模式
此 PR 更新了 SQLite 适配器,在可能的情况下使用 IMMEDIATE 模式,以提高并发支持并避免忙碌异常。
您可以在 此处 查看所有更改。 上周有 15 位贡献者 为 Rails 代码库做出了贡献!
下次再见!
订阅以通过邮件获取这些更新。