Рельсовая конвенция - PullRequest
       4

Рельсовая конвенция

1 голос
/ 09 ноября 2010

Я действительно новичок в Rails (для coldfusion), и прежде чем я даже начну кодировать, я хочу убедиться, что я понимаю соглашение и правильно его применяю.

Одной из моих проблем является следующая ситуация с использованием Railsсоглашение:

  1. Я создаю таблицу с именем users
  2. Я создаю модель с именем User.cfc
  3. Я создаю контроллер с именем Users.cfc
  4. создайте страницу регистрации, поэтому я добавлю метод с именем register в контроллер Users.cfc, поскольку он определенно связан с моделью User.

Но теперь давайте скажем, что я создаю метод, который затем вызывает несколько моделейгде я должен поместить этот метод?

Пример: я возьму пост на Facebook для этого примера.К каждому моему посту можно добавить множество комментариев.Поэтому я мог бы создать имя метода postMessage, поэтому в этом методе я бы назвал модель «Post», а также модель «Postcomment», поэтому мой вопрос заключается в том, должен ли я поместить метод postMessage в контроллер «Posts» или «Postcomments»?

1 Ответ

0 голосов
/ 09 ноября 2010

Это действительно зависит от цели метода.Если это пользователь, который просматривает свою коллекцию виджетов, вы можете создать метод «виджеты» в контроллере «Пользователи».

С другой стороны, если вы хотите перечислить всех пользователей, которые делают ставки на виджет №32, затем вы можете добавить метод «users» в контроллер Widgets.

Для этих типов вещей не существует определенного правила.Хотя обычно вы хотите, чтобы между моделями и контроллерами в Rails существовала корреляция 1: 1, существуют исключения.У вас могут быть некоторые модели без собственных контроллеров (например, Login, EmailAddress) и некоторые контроллеры без связанных моделей (например, Home, Admin).

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