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

Posted

技术标签:

【中文标题】警告:在 ruby​​ 2.7.2 中使用回形针时,URI.escape 已过时【英文标题】:warning: URI.escape is obsolete when using paperclip in ruby 2.7.2 【发布时间】:2021-07-12 00:38:17 【问题描述】:
   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

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

【问题讨论】:

【参考方案1】:

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

a) 只要您坚持使用这些版本的 Ruby 和 Rails,请忽略该警告,因为这并不意味着有任何问题。 b) 编写一些代码来抑制这个特定的警告,虽然我可能不会这样做,因为你会增加忘记这个问题的机会,然后最终导致一个更严重和时间敏感的问题路,如果您将系统的一部分升级到 URI.escape 不再可用的地方。 c) 执行我在 Rails 应用程序中所做的事情,即切换到 Paperclip 的分支和维护版本KT-Paperclip。如果您想更新到解决这些弃用警告的最低版本号,您可以选择6.4。

【讨论】:

不,我没有。 KT-Paperclip 是 Paperclip 的“官方”分支,如果你想这么称呼它的话。它链接在 Github 上原始 Paperclip 自述文件的顶部。 只需将我的回形针替换为 gemfile 中的 kt-paperclip,我的应用程序就开始工作了(使用 ruby​​ 3.1.0-preview1 rails 6.1.4)。谢谢。

以上是关于警告:在 ruby​​ 2.7.2 中使用回形针时,URI.escape 已过时的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails - 回形针回滚事务

Ruby On Rails:获取回形针图像的 md5 哈希

ruby 使用回形针修复json和text / plain问题

带有回形针的 If 语句 | Ruby on Rails

请建议适当的附件插件/宝石用于 Rails 2.0.2 和 Ruby 1.8.7

如何在'rake test'中关闭警告'ruby -w'?