Теоретический вопрос о правильном коде. Как в рамках MVC правильно реализовать метод ("не action") в контроллере?
В контроллере есть метод, который реализует большой функционал используемый в экшенах этого контроллера. (обмен данными между некоторыми произвольными моделями).
Ни к какой конкретной модели этот функционал логично не вписывается.
По логике (на мой взгляд) он является частью контроллера.
Правильно ли этот оставлять этот код в контроллере или лучше куда-то вынести?
Суть терзаний:
С одной стороны он вроде находится на своём месте, но с другой стороны он занимает большую часть контроллера, да и в принципе ведь лучше чтобы контроллер содержал только доступные из вне методы(экшены)?
Создайте сервис и вынесите туда "обмен данными между некоторыми произвольными моделями".
Назовите его так чтобы было ясно что за обмен происходит и используйте в контроллере.
MIKEk8, ну так хелпер можно ассоциировать с контроллером по имени класса, какие проблемы?
если всю бизнес-логику пихать в контроллер, то он разрастается со страшной силой. Проходили, знаем.