Rails application templates非常适合快速设置基础项目。
但是当我使用“environment”指令时,要添加一些默认配置,它不会覆盖已有的设置。
例如,如果我在我的应用模板中设置此行:
environment 'config.action_mailer.raise_delivery_errors = true', env: 'development'
它已添加到我的config/environments/development.rb
文件的顶部。但这并没有覆盖下面的现有行
config.action_mailer.raise_delivery_errors = false
有没有办法覆盖现有的线路? (或者至少是删除与某种模式匹配的行的指令)
答案 0 :(得分:2)
由于Rails应用程序模板生成器基于Thor,因此可以使用gsub_file删除文件的一部分。所以在这种情况下:
gsub_file('config/environments/development.rb', /config\.action_mailer\.raise_delivery_errors.*/, '')