Единственная причина использовать полиморфные классы состоит в том, что их бизнес (или что-то еще) логика очень одинакова, единственное отличие состоит в их структуре данных (которая также имеет похожую часть).Таким образом, вы должны использовать или полиморфные модели с одним контроллером, или отдельные классы (модели) с отдельными контроллерами.
И, конечно, вы можете использовать отдельные контроллеры для своих полиморфных моделей, но я считаю, что это не из лучших практик1003 *