警告:在ruby 2.7.2中使用回形针时,URI.escape已过时


ruby - 2.7.2
rails - 6.0
paperclip - 6.1.0

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

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

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

当你说"解决";警告-你可能认为什么是可以接受的解决方案还不太清楚。但你可以:

  • a(只要你坚持使用这些版本的Ruby和Rails,就忽略这个警告,因为这并不意味着任何东西都坏了
  • b( 写一些代码来抑制这个特定的警告,尽管我可能不会这样做,因为如果你将系统的一部分升级到URI.escape不再可用的地方,你会增加忘记这个问题的机会,然后最终会出现更严重、更具时间敏感性的问题
  • c( 做我在Rails应用程序中所做的事情,即切换到Paperclip的分叉和维护版本KT Paperclip。如果您想更新到解决这些弃用警告的最低版本号,您可以选择6.4

好吧,正确的答案是按照@UptDogTT的建议,为你的代码库做一些更好的事情。。。但是,如果您只需要一个"搞定"的答案,这个monkey补丁会使用等效的功能将URI.escape添加回来。将其添加为初始值设定项:

module URI
def self.escape url
URI::Parser.new.escape url
end
end

相关内容

  • 没有找到相关文章

最新更新