启用rails的Rubocop和Style/IndentationConsistency



我正在使用rubocop到rails 5项目,我已经添加到我的.rubocop.yml:

Rails:
  Enabled: true

我注意到一个规则(Style/IndentationConsistency)失败了,我不得不像这样明确地添加它:

Style/IndentationConsistency:
  EnforcedStyle: rails

是可以发生的还是我做错了什么?

您不能只添加Rails: Enabled: true,您需要添加Rails的单独配置,如(Rails Action Filter, FindEach, FindBy)。

请参考下面给出的Rails配置。你也可以点击这个链接(https://github.com/bbatsov/rubocop/blob/master/config/default.yml)

  Rails/ActionFilter:
      EnforcedStyle: action
      SupportedStyles:
          - action
          - filter
      Include:
          - app/controllers/**/*.rb
  Rails/Date:
      # The value `strict` disallows usage of `Date.today`, `Date.current`,
      # `Date#to_time` etc.
      # The value `flexible` allows usage of `Date.current`, `Date.yesterday`, etc
      # (but not `Date.today`) which are overridden by ActiveSupport to handle current
      # time zone.
      EnforcedStyle: flexible
      SupportedStyles:
          - strict
          - flexible
  Rails/Exit:
      Include:
          - app/**/*.rb
          - config/**/*.rb
          - lib/**/*.rb
      Exclude:
          - lib/**/*.rake
  Rails/FindBy:
      Include:
          - app/models/**/*.rb
  Rails/FindEach:
      Include:
          - app/models/**/*.rb
  Rails/HasAndBelongsToMany:
      Include:
          - app/models/**/*.rb

似乎这是可以发生的。并不是每个人都在Rails项目中使用这种风格。这只是Rails代码库本身使用的样式。因此,如果你需要rails代码库缩进,你必须显式地把上面的两个。

最新更新