能否仅在某些路径上禁用 rubocop 检查?

Can a rubocop check be disabled on certain paths only?

我正在使用 ActiveAdmin,DSL 使您倾向于形成大块。因此,rubocop 说:

Block has too many lines

我可能会考虑对 ActiveAdmin 进行一些配置,这些配置将全局影响其所有注册表,但我最好将配置放在 rubocop 点文件中。

您可以为单个目录或特定文件禁用单个 cop。比如说,在你的例子中,你想排除 ActiveAdmin 文件被 Metrics/BlockLength 检查,而你的文件位于 app/admin,你将它添加到你的 .rubocop.yml:

Metrics/BlockLength:
  Exclude:
    - 'app/admin/**/*'

请注意,这将覆盖默认排除(rake 和 spec 文件)。如果您仍希望将它们也排除在外,则需要将它们添加到您的配置中:

Metrics/BlockLength:
  Exclude:
    - 'app/admin/**/*'
    - 'Rakefile'
    - '**/*.rake'
    - 'spec/**/*.rb'