Ruby on rails 如何为设备设置两个主机配置?

Ruby on rails 如何为设备设置两个主机配置?,ruby-on-rails,heroku,devise,Ruby On Rails,Heroku,Devise,我正在使用这个装置。我需要将同一个rails项目推送到两个不同的heroku应用程序。有没有办法为这两个应用程序设置不同的主机 为了具体起见,对于appA,production.rb应该包含config.action\u mailer.default\u url\u options={:host=>'appA.heroku.com'} 对于appB,production.rb应该包含config.action\u mailer.default\u url\u options={:host=>'a

我正在使用这个装置。我需要将同一个rails项目推送到两个不同的heroku应用程序。有没有办法为这两个应用程序设置不同的主机

为了具体起见,对于appA,production.rb应该包含config.action\u mailer.default\u url\u options={:host=>'appA.heroku.com'} 对于appB,production.rb应该包含config.action\u mailer.default\u url\u options={:host=>'appB.heroku.com'}


但是,似乎不可能在同一个production.rb中同时使用两个行。

您应该为此使用配置变量。这样,该值是根据heroku部署而不是在源代码中设置的。
有关更多信息,请参阅。

您可以在heroku实例上使用环境变量来区分rails应用程序中的常量

例如:

# production.rb
config.action_mailer.default_url_options = { :host => ENV['ACTION_MAILER_HOST'] }
然后,在本地计算机上:

% cd /path/to/project/A
% heroku config:add ACTION_MAILER_HOST=appA.heroku.com
% cd /path/to/project/B
% heroku config:add ACTION_MAILER_HOST=appB.heroku.com
有关参考和更多示例,请参见此