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?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
path
和 root
参数是什么意思?确定 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
已启用:假
我正在建立一个新的 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?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
path
和 root
参数是什么意思?确定 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 已启用:假