【问题标题】:Ruby 2.5 deprecation messageRuby 2.5 弃用消息
【发布时间】:2020-06-16 13:48:31
【问题描述】:

Ruby 2.5 弃用了 Data 类,我们在 Rails 中有三个以 Data:: 命名的类。这在每次运行时都会向我们发出弃用警告。处理这种弃用的最佳方法是什么?我们应该重命名我们的类还是有更好的解决方案?

【问题讨论】:

  • Data 类已被弃用很长时间。也许您将它与“顶级常量查找”混淆了?
  • 您可以消除错误,但我建议将其重命名为更具描述性的名称。无论如何,你对这个类的使用一定有点奇怪。
  • 因为Data 是一个类,而不是一个模块,所以你所有的类定义必须是这样的:class Data::Foo; ...; end,或者这样:class Data; class Foo; ...; end; end。但通常在 ruby​​ 中为类命名时,您应该使用模块 - 例如module UserData; class Foo; ...; end; end.
  • Data 类可能会在 ruby​​ 版本 3.0 中被删除,所以无论如何这个弃用警告应该是短暂的。

标签: ruby-on-rails ruby ruby-2.5


【解决方案1】:

也许在静音块内定义你的类?

ActiveSupport::Deprecation.silence do 
   class Data
   end
end

https://api.rubyonrails.org/classes/ActiveSupport/Deprecation/Reporting.html#method-i-silence

【讨论】:

    猜你喜欢
    • 2020-04-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多