2024 年 7 月 26 日,星期五

默认情况下模型丢失的属性、SQLite 即时事务以及 CVV/CVC 参数筛选

zzak 发布

大家好,我是 zzak。这周很短,但还是开始吧。

删除 Hash#except 核心扩展
Rails 8.0 将仅支持 Ruby 3.1 或更高版本。现在 except 本机化添加到了 Ruby 3.0 中,所以现在这是死代码。

介绍 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”添加为在新的应用程序中筛选出的默认参数
对于新的应用程序,此公关活动将 cvvcvc 添加到 ActiveSupport::ParameterFilter 的默认设置中。

确保 SQLite 事务默认为 IMMEDIATE 模式
此公关活动更新了 SQLite 适配器,在尽可能的情况下使用 IMMEDIATE 模式,以提高并发性支持并避免繁忙异常。

您可以在 此处 查看整个更改列表。上周我们有 15 位贡献者 为 Rails 代码库做出贡献!

下次见!

订阅,将这些更新发送到您的邮箱中。