Быстрый (и бесполезный) ответ в том, что в любом случае отлично работает.
Я думаю, что все сталкиваются с этим решением в один момент, и решение, которое вы принимаете, зависит от вероятного будущего веб-сайта ... что означает, что он подвержен преждевременной оптимизации ... но это всегда подвох,
Как вы уже, наверное, догадались, "дом" в некотором роде является глаголом, а также существительным, поэтому вам трудно понять, что делать.
Ответ зависит от сочетания толкования структуры вашего сайта и от того, сколько времени вам доступно ...
если у вас очень мало времени для работы над этим ... тогда вставка действия "home" в другой контроллер часто считается целесообразным вариантом. Он работает, он позволяет вам переходить к другим (возможно, более продуктивным) задачам.
Однако я согласен с тем, что иногда полезно отступить назад и подумать о том, что вы делаете, и можно ли это сделать «лучше» ...
в этом случае, хотя это трудно определить «лучше» - как это маловероятно, что помещение домашнего действия в новом контроллере будет заметно быстрее ... и если это единственное действие ИНТ он контроллер ... это спорно, является ли это лучше, архитектурно, просто добавив его на существующий контроллер ...
Итак, мы начнем с того, что в основном является философской дискуссией ... другими словами, ни один ответ не будет «более правильным», чем другой, это скорее вопрос вкуса и обстоятельств. В этом случае дебаты зависят от того, как сделать структуру более RESTful.
Чтобы быть верным архитектуре RESTful, вы бы действительно перенесли действие в его собственный контроллер ... но сначала вам нужно определить, что это за сущность. «Домашняя» страница часто не может быть легко идентифицирована как конкретная сущность БД ... это чаще всего страница портала.
Иногда вы можете выбрать сущность, например, в интернет-магазинах часто есть домашняя страница, которая на самом деле представляет собой вариант "products # index", или иногда "домашняя" страница представляет собой страницу UserAccount # show ... но чаще ваша Домашняя страница не будет простой и будет объединять информацию из нескольких объектов ... поэтому трудно определить, какой будет "правильная" архитектура.
Если вы не можете идентифицировать конкретную сущность, то существуют веские споры о том, следует ли перенести действие в конкретный контроллер.
однако вы всегда можете создать новую «сущность», которая будет сосредоточена вокруг архитектуры сайта. Это особенно вероятно, если вы собираетесь придумать другие не связанные с сущностью страницы для сайта (например, Условия и положения или страница "о нашей компании").
Обычный запасной вариант - это «PageController» (или похожее имя), который не связан с активной записью модель , а с более туманной сущностью, в данном случае с «страницей», которая распознаваема. пользователю веб-сайта (например, «домашняя страница» и «страница T & C» и «страница о проекте»). Каждое действие будет для определенной страницы ...
Итак, вам решать, будет ли это лучше соответствовать вашему взгляду на архитектуру вашей системы ... и стоит ли оно усилий ... но это мой взгляд на дебаты. :)