Rails应用程序模板:如何覆盖环境文件中已存在的行?

时间:2013-02-14 09:50:13

标签: ruby-on-rails ruby-on-rails-3

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

有没有办法覆盖现有的线路? (或者至少是删除与某种模式匹配的行的指令)

1 个答案:

答案 0 :(得分:2)

由于Rails应用程序模板生成器基于Thor,因此可以使用gsub_file删除文件的一部分。所以在这种情况下:

gsub_file('config/environments/development.rb', /config\.action_mailer\.raise_delivery_errors.*/, '')