Можно утверждать, что если вы хотите записать данные, сгенерированные в компоненте, и иметь возможность упаковать компонент для распространения, имеет смысл загрузить модель в ваш компонент (особенно, если модель является частью вашего компонента) ,
Например, у меня есть компонент AIM authorize.net (авторизация кредитной карты).
С моего контроллера я вызываю функцию зарядки компонентов.
Authorize.net отправляет мне ответ (внутри компонента) и в соответствии с DRY я бы хотел сохранить данные внутри компонента, чтобы мне не приходилось повторять сохранение данных, откуда бы ни вызывалась функция начисления.
Еще одним плюсом для отказа от соглашения может быть тот факт, что я могу использовать модель из компонента и не иметь модель в приложении.
Что ты думаешь?