Если у меня есть две таблицы в базе данных User и Userinfo (разделены для целей normalization ), я генерирую две модели User, UserInfo и использую их как обычно через отношения.
Позже у меня есть раздел моего приложения, который читает и пишет в оба, однако, существует довольно много бизнес-логики при создании записей, например, поиск других таблиц для условных правил, построение строк и т. Д.
Имеет ли смысл создать третью модель (модель без поддержки базы данных), чтобы справиться со всем этим и создать / сохранить с помощью двух других моделей? или я должен держать это в контроллере?
Другим примером может быть импорт файла CSV, в котором все данные разделены между различными таблицами, отдельными моделями, используемыми остальной частью приложения. Могу ли я использовать модель, определяющую каждую строку, которая обрабатывает сохранение импортированных данных через другие модели. Или опять это должно быть в контроллере?
Меня интересуют лучшие практики при разработке приложений для больших рельсов.