新年快乐(又一年)!外加一个 星期五13 号 👻
我是 Vipul,为您带来本年的第二周最新动态,从 目前情况 来看,本周将非常忙碌。
感谢所有 27 位贡献者,特别感谢首次贡献的 4 位朋友。加油干!
以下是本周 Rails master 最相关的更改。
由于 顶级常量查找 已在 Ruby 2.5 中移除,因此 Rails 对其自身的相关更改进行了处理,以便我们依赖于范围适当的常量,而不是依赖于回退查找。
如果某个进程分叉多次,ActiveRecord 连接池将为一个进程获取最旧的连接规范,而不是最新的规范。
对于单个进程,不会出现这个问题,但是,如果您要多次分叉进程,将会返回错误的规范,并将使用错误的连接。
此更改通过反转规范名称的列表来修复此问题,以便我们可以获取最新的规范,而不是最旧的规范。
以前,在使用时间回溯方法(如 travel_to 等)并且对 e.g. Time
的子类的 now
进行调用时,它总是返回 Time
的实例,而不是返回子类的实例。
此更改修复了我们返回实例的方式,以便我们始终使用正确的类进行返回。
以前,以下代码可能会失败或成功,具体取决于当前时间。
ActiveSupport::Duration.parse(2.months.iso8601) == 2.months
ActiveSupport::Duration.parse(3.years.iso8601) == 3.years
此更改修复了解析不一致性,以便此比较不再失败。
将 class_name
作为反射的选项的想法,是可以传入一个字符串并使用延迟自动加载类。
直接使用类,如
belongs_to :client, class_name: Customer
这会过早加载模型,从而创建可能的循环依赖关系。
此选项现已弃用,请改传类名称的字符串。
以上就是 Vipul 提供的所有内容。希望你喜爱此版本。
如果你还没有开始制定 RailsConf 提案,那么现在只有 6 天时间来 提交一份精彩演讲!