【发布时间】:2018-06-10 03:25:24
【问题描述】:
我的代码中有以下行:
require "#{Rails.root}/config/environments/production.rb"
Rubocop 的 Rails/FilePath 警察建议我将其更改为:
require Rails.root.join('config', 'environments', 'production.rb')
为什么?前者更紧凑,显示速度更快,并且可以说更具可读性。
【问题讨论】:
-
Rails.root.join实际上在 Windows 上生成正斜杠或更通用的:File.join不是特定于平台的,其中带有斜杠的字符串是。 -
路径分隔符取决于平台。 AFAIK Windows 大多数时候会接受
/,但它真的很想看到一个反斜杠(我似乎无法通过 Markdown)。大概Rails.root.join将使用正确的分隔符。不确定 Rubocop,而且我已经几十年没有接触过 Windows,所以只是评论。 -
这个问题已经过时了,新的默认是使用完整路径:github.com/rubocop-hq/rubocop-rails/issues/195