FrozenStringLiteralComment の Rubocop 自動修正が機能しない
概要
Rails 6 プロジェクトがあり、RuboCop の自動修正オプションを使用して、多くの Style/FrozenStringLiteralComment エラー (主に生成されたファイル内) を修正しようとしています。
プロジェクト ルートから Bundle execrubocop –auto-correct –only Style/FrozenStringLiteralComment を何度実行しても、Rubocop はエラーを報告するだけで、自動修正はしません。
app/models/product.rb:1:1: C: Style/FrozenStringLiteralComment: 凍結された文字列リテラル コメントがありません。
–show-cops オプションを指定して実行すると、このcopが「-auto-correct」をサポートしていることがわかります。そのため、何が問題なのかわかりません。
私の .rubocop.yml ファイルには、require:rubocop-rails という構成設定が 1 つだけあります。
また、bundle execrubocop -a を実行したところ、設定ファイルや同様のファイルの他のエラー (ほとんどが単一引用符) が修正されました。
この場合、自動修正が機能しない理由はわかりますか?ありがとう。
解決策
これはバージョン 0.87 で導入された重大な変更です (問題を参照)。
そこから引用すると:
ファイルを安全または安全でない自動修正するには、ここで -A フラグを使用する必要があります。
次のように機能するはずです。
bundle exec rubocop -A --only Style/FrozenStringLiteralComment