Сложность захвата контроллеров с помощью Rails - PullRequest
1 голос
/ 16 ноября 2011

Я пытаюсь построить онлайн-витрину / магазин для своих работ, и у меня возникли небольшие проблемы с запуском. Я решил использовать рельсы после некоторых советов от друзей.

Мой единственный вопрос касается контроллеров. Нужен ли контроллер для каждой страницы?

На данный момент я планирую разместить страницу «Главная страница», «Контакты», «Продукты» и «О нас» в своем HTML. Требуется ли мне иметь четыре разных контроллера?

Дайте мне знать, если у вас есть какие-либо комментарии и спасибо заранее.

Ответы [ 4 ]

5 голосов
/ 16 ноября 2011

Ваши контроллеры должны быть тематически , а не page . Таким образом, как упомянул @topek, статические страницы могут попадать в контроллер страниц. Страницы, относящиеся к управлению классом Product, могут попадать в контроллер Products.

Действительно, это не вопрос Rails. Это вопрос MVC.

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

4 голосов
/ 16 ноября 2011

Нет, для этого случая у вас может быть PagesController с различными действиями - дом, контакт, о нас.

Что касается продуктов, это скорее звучит как отдельный контроллер с хотя бы индексом и шоуaction.

Для ваших статических страниц вы можете создавать именованные маршруты для чистых URL без префикса страниц, например:

match 'about-us' => 'pages#about_us', :as => :about_us

Затем вы можете использовать about_us_path и about_us_url в ваших взглядах

1 голос
/ 16 ноября 2011

В идеале контроллер представляет ресурс в вашем веб-приложении (дизайн REST). Продукт определенно является самостоятельным контроллером, который выполняет действия, такие как new, edit и т. Д.

Теперь вы можете приступить к созданию единого контроллера, который обрабатывает дом, контакт и о нас, но я голосую против. Лично я бы определенно использовал разные контроллеры для каждого.

Я предпочитаю, чтобы все было как можно более изолированным, просто чтобы мой код был более открытым для расширения и закрытым для изменений (принцип открытия / закрытия).

0 голосов
/ 16 ноября 2011

Узнайте о роли контроллеров в RESTful Rails в стиле MVC.Хотя REST не применим ко всему, он даст вам представление о том, что (по крайней мере, в Rails) должен делать контроллер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...