7
   ruby - 2.7.2
   rails - 6.0
   paperclip - 6.1.0

我在控制台中收到以下警告,同时使用带有 ruby​​ 2.7.2 的回形针 gem

   /Users/***/.rvm/gems/ruby-2.7.2/gems/paperclip-6.1.0/lib/paperclip/url_generator.rb:68: warning: URI.escape is obsolete

我知道回形针没有维护者,它已被弃用,但我不能使用主动存储,因为我发现回形针是实现附件的最简单和最好的方法。我该如何解决这个警告?

4

2 回答 2

4

当您说“解决”警告时,您可能认为什么是可接受的解决方案并不十分清楚。但你可以:

  • a) 只要您坚持使用这些版本的 Ruby 和 Rails,请忽略该警告,因为这并不意味着任何东西都被破坏了。
  • b)编写一些代码来抑制这个特定的警告,虽然我可能不会这样做,因为你会增加忘记这个问题的机会,然后在路上遇到一个更严重和时间敏感的问题,如果您将系统的一部分升级到URI.escape不再可用的位置。
  • c) 执行我在 Rails 应用程序中所做的事情,即切换到 Paperclip 的分叉和维护版本KT-Paperclip。如果您想更新到解决这些弃用警告的最低版本号,您可以选择6.4
于 2021-06-13T13:43:35.670 回答
0

正如@UptDogTT 建议的那样,正确的答案是为您的代码库做一些更好的事情......但是如果您只需要一个完成的答案,这个猴子补丁会URI.escape使用等效功能添加回来。将其添加为初始化程序:

module URI
  def self.escape url
    URI::Parser.new.escape url
  end
end
于 2022-02-28T02:28:59.187 回答