在Rails上配置电子邮件自定义变量的最佳方法

时间:2012-09-28 13:13:48

标签: ruby-on-rails ruby

我正在构建一个向管理员收件人发送电子邮件的应用程序。在开发过程中,它的值为dev@mydomain.com,在生产中它有prod@mydomain.com。在Rails中配置这类东西的最佳方法是什么? 我想用这样的东西:

mail(to: my.delivery.mail, :subject "whatever")

由于

3 个答案:

答案 0 :(得分:2)

有多种方式,但最简单的是:

recipient = Rails.env.production? ? 'prod@mydomain.com' : 'dev@mydomain.com'
mail(to: recipient, :subject "whatevs...")

答案 1 :(得分:1)

使用环境变量

mail(:to => ENV['ADMIN_ADDRESS'], :subject => "whatever")

然后将其设置为部署(通过capistrano或任何工具)。此信息不是业务逻辑(因此它不属于应用程序),也不是业务数据(因此它不属于数据库)。这就是环境。

答案 2 :(得分:0)

如果有多个环境,您可以设置方法(主要在邮件程序类中)并设置管理员收件人, 或写入环境文件config.admin_mail =dev@mydomain.commail(to: AppName::Application.config.admin_email,..)