На самом деле, статические страницы на самом деле не о MVC, подумайте об этом: они статичны, поэтому у них нет бизнес-логики. В основном вы получите VC вместо MVC (модель не будет существовать).
Обычно для статических страниц только, если они не нуждаются в каком-то особый маршруте, вы бы с одним контроллером и кучей действий, прямое следствием будет имеющей структуру каталогов, как
views/static_pages/<youstaticpage>.html.erb
Это довольно приятно, особенно если ваши статические страницы действительно статичны, поэтому вы получите максимум 10 страниц.
В тот момент, когда вам нужно извлечь данные из базы данных, я предлагаю извлечь эту страницу в свой собственный контроллер. Например, если вы храните адрес электронной почты/телефон/адрес веб-сайта или что-то в своем местоположении, и вам нужно его получить и использовать в своей . О странице, я предлагаю создать ваш AboutController
и обрабатывать все через него.
Таким образом, вы оставите StaticPagesController
очень чистым. При этом, если вы хотите строго придерживаться MVC, у вас должен быть один контроллер на статическую страницу, но в этом случае он действительно бесполезен. Извлеките код, когда вам это нужно, все равно будет очень легко: в тот момент, когда у вас нет простой страницы, извлеките ее в свой собственный контроллер.
Важная вещь, которую я узнал от POODR, состоит в том, что код должен быть достаточно хорошим. Кроме того, вы должны начать рефакторинг, когда это необходимо, чрезмерное проектирование, это уродливый зверь. Поверь мне, я обожаю сверхтехнические вещи.
Спасибо за объяснение, это имеет смысл. Я тоже проверю книгу. Может быть, я могу найти копию на ebay. :) – mack