让 Rails 生成单引号字符串而不是双引号字符串以满足 RuboCop

And*_*imm 5 string ruby-on-rails rubocop

如何让 Rails 在生成代码(例如迁移)时生成单引号字符串而不是双引号字符串?

我不太关心迁移中使用哪种字符串,但这会给 RuboCop 带来复杂性。我可以设想 RuboCop 忽略它的唯一方法是,我明确告诉它忽略有问题的文件,或者根本不强制执行 Style/StringLiterals cop。

Ana*_*mez 6

我认为您不应该检查自动生成的文件中的样式,因为您并没有真正编写它们。db/data_schema.rb我会排除您的文件中的文件rubocop.yml

AllCops:
  Exclude:
    - 'db/schema.rb'
Run Code Online (Sandbox Code Playgroud)

中的文件db/migrate/并不是真正自动生成的,因为您也可以编写自己的迁移。您可以Style/StringLiterals仅排除文件中的迁移rubocop.yml

Style/StringLiterals:
  Exclude:
    - 'db/migrate/*'
Run Code Online (Sandbox Code Playgroud)

您还可以在生成迁移后运行 rubocop 自动更正,因为 Rubocop 可以有效地更正 Style/StringLiterals 错误:

rubocop -a
Run Code Online (Sandbox Code Playgroud)