Я разрабатываю приложение rails, которое будет иметь отдельные экземпляры, запущенные в разных странах. Интернационализация заботится о языковых проблемах, но когда есть некоторые незначительные логические изменения, я не уверен, как подойти. Одним из примеров может быть способ оплаты - в каждой стране пользователям будут представлены разные варианты с различными интеграциями. Другими примерами могут быть зарплаты - налоги и социальные ценные бумаги полностью отличаются от страны к стране, поэтому нам нужно учитывать это.
Различия не так много, поэтому я вообще не хочу создавать разные ветки git для каждой страны, но я могу ошибаться.
Решение, о котором я сейчас думаю, состоит в том, чтобы иметь другую среду для каждой страны - "production_germany", "production_france" и т.д., и в зависимости от этого загружать другой файл yml со всеми необходимыми переменными, которые я буду нуждающихся в этой стране. Затем создайте класс "Менеджер", который будет принимать решения о том, какие специальные классы загружать и какие вещи показывать на представлениях (везде, где есть различия). Например, у меня могут быть классы расчета зарплаты для германии в "зарплата/калькуляция/де" и для франции в "зарплата/калькуляция/fr" и загружать только те, которые мне нужны.
Каким будет ваше решение?