Rails: Rails.root.join 指向 "tmp/caching-dev.txt" 时的正确用法是什么?

Rails: What is the correct usage of Rails.root.join when pointing to "tmp/caching-dev.txt"?

我正在建立一个新的 Rails 项目,在使用 Rubocop 对其进行初步整理后,我只剩下一次攻击。

Rubop 抱怨:

config/environments/development.rb:16:6: C: Please use Rails.root.join('path', 'to') instead.
  if Rails.root.join("tmp/caching-dev.txt").exist?

我看到Rails.root returns当前项目的路径。所以我试过了

if File.join(Rails.root, "tmp/caching-dev.text").exist?

相反。但是,Rubocop 仍然抱怨:

config/environments/development.rb:17:6: C: Please use Rails.root.join('path', 'to') instead.
  if File.join(Rails.root, "tmp/caching-dev.text").exist?
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

pathroot 参数是什么意思?确定 Rails.root 是路径?!

我认为 Rubocop 建议你做这样的事情

if File.exist?(Rails.root.join('tmp', 'caching-dev.txt'))

恕我直言,Pathname/ 还不够用。

if (Rails.root / 'tmp' / 'caching-dev.txt').exist?

我通过配置解决了问题。rubocop.yml:

Style/ExpandPathArguments: 强制样式:Style/ExpandPathArguments 已启用:假