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

use*_*603 1 ruby ruby-on-rails rubocop

我正在建立一个新的Rails项目,在给Rubocop初步整理之后,我只剩下一个冒犯了.

鲁博普抱怨道:

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

我看到它Rails.root返回当前项目的路径.所以我试过了

if File.join(Rails.root, "tmp/caching-dev.text").exist?
Run Code Online (Sandbox Code Playgroud)

代替.但是,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?
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

有什么意义pathroot争论?肯定Rails.root是路径?!

Urs*_*sus 6

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

if File.exist?(Rails.root.join('tmp', 'caching-dev.txt'))
Run Code Online (Sandbox Code Playgroud)