Rubocop,如何在代码块上禁用/启用警察

fgu*_*len 47 ruby rubocop

我想禁用特定块或方法的警察。

我知道可以使用 禁用整个项目的警察.rubocop.yml,但我只想暂时停用代码的特定部分的警察。

fgu*_*len 58

我回答我的问题是因为我总是很难找到这个解决方案的参考:

# rubocop:disable Metrics/MethodLength
def my_code
  ..
end
# rubocop:enable Metrics/MethodLength
Run Code Online (Sandbox Code Playgroud)

对于多个警察来说也是如此:

# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
def my_code
  ..
end
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength
Run Code Online (Sandbox Code Playgroud)

文档:https ://docs.rubocop.org/rubocop/configuration.html#disabling-cops-within-source-code


Pra*_*agi 18

如果你想禁用特定线路的警察,你可以使用类似的东西

 before_action :authenticate_user!, except: [:index, :show] # rubocop:disable Style/SymbolArray
Run Code Online (Sandbox Code Playgroud)

无需再次启用它。如果有一段代码并且您想要启用或禁用警察,那么按照上面的建议,您可以遵循该方法。