Rubocop,如何 Disable/Enable 处理代码块

Rubocop, how to Disable/Enable cops on blocks of code

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

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

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

# rubocop:disable Metrics/MethodLength
def my_code
  ..
end
# rubocop:enable Metrics/MethodLength

多个警察也一样:

# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
def my_code
  ..
end
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength

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

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

 before_action :authenticate_user!, except: [:index, :show] # rubocop:disable Style/SymbolArray

无需再次启用。如果有一段代码并且您想启用或禁用 cop,那么按照上面的建议,您可以按照该方法进行操作。