0

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

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

谢谢

4

3 回答 3

2

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

recipient = Rails.env.production? ? 'prod@mydomain.com' : 'dev@mydomain.com'
mail(to: recipient, :subject "whatevs...")
于 2012-09-28T13:22:40.070 回答
1

使用环境变量

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

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

于 2012-09-28T15:31:13.610 回答
0

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

于 2012-09-28T13:25:37.847 回答