У меня есть 3 отдельных промежуточных сервера, настроенных в Капистрано (и может иметь больше в некоторый момент) Например:
staging.example.com
staging2.example.com
staging3.example.com
Capfile для каждого определяет одну и ту же среду:
set :rails_env, 'staging'
... и в `config / environment / staging.rb мне пришлось определить параметры URL по умолчанию:
config.action_mailer.default_url_options = { host: 'staging.example.com' }
К сожалению, это в конечном итоге приводит к использованию не того сервера. Например, при тестировании на staging2 вы можете получить электронное письмо с установленным в URL «staging» ... щелкните по нему, не задумываясь, и вы попадете не на тот сервер.
Я не хотел добавлять отдельный файл среды для каждого промежуточного сервера, поскольку в какой-то момент их может быть довольно много, и это действительно единственное изменение, которое отличается для каждого сервера, поскольку это имя хоста.
Есть ли способ обойти это без использования отдельного файла среды для промежуточного хоста? Можно ли использовать настройку Capistrano :web
в качестве URL хоста?
role :web, "staging2.example.com"