Я пишу базовую систему CMS с возможностью голосовать за записи, следить за людьми и т. д., следовательно, я обнаружил, что использую одни и те же или похожие фрагменты кода в нескольких представлениях здесь и там, состоящих из различных частей HTML и логики, таких как:
- Голосование панель
- Панель «Подписаться/Отписаться»
- Панель входа/выхода
- Код для проверки, вошел ли пользователь в систему и т. д.
Некоторые элементы являются динамическими, например кнопка «подписаться/отписаться». Необходимо будет проверить, подписаны ли вы уже на пользователя или нет, и отобразить соответствующую кнопку, для проверки которой потребуется модель. Теперь у меня есть то, что вся логика находится в контроллере и он возвращает соответствующую кнопку, но кажется странным возвращать сформированный HTML-код и в возврате контроллера. Должно ли это быть больше похоже на следующее:
- контроллер проверяет, следите ли вы за кем-то
- контроллер передает логическое значение в представление
- представление вызывает помощника с этим значением, чтобы нарисовать соответствующую кнопку
Извиняюсь, если это наивный или повторяющийся вопрос, вокруг этой темы действительно много дискуссий, но ее не всегда легко связать с другим проектом.