Код вытекает из лучших идей, когда именование поддерживает внутреннюю модель проблемы разработчиков. При создании приложения я не думаю о поиске пользовательской модели (UserModel.find
), я думаю о поиске пользователя (User.find
). С другой стороны, контроллеры представляют собой слой перевода между веб-интерфейсом и хранилищем данных (и бизнес-логикой), поэтому имеет смысл называть их чем-то другим.
Существует также проблема пространства имен; если и моя модель, и контроллер имеют имя пользователя, то на какого пользователя я ссылаюсь в данный момент? В этом случае либо вы называете все с их типом, что встречается с проблемой, которую я описал выше, либо один «выигрывает», и на него можно ссылаться «голым». Кажется, что наиболее разумно, что модель победит, чтобы обеспечить лучшее умственное отображение.
Внутри app/views/layout
- application.html.erb
, и вы можете иметь другие макеты, которые выбираются различными контроллерами.
В конце концов, однако, это был выбор, сделанный во время разработки Rails, и это полностью стилистический выбор, основанный на том, что разработчики считали наиболее разумным, поэтому на самом деле нет «правильного» ответа на ваш вопрос. , к несчастью. На самом деле, некоторые подобные решения были пересмотрены. (application_controller.rb
раньше просто называли application.rb
.)