Выбор правильного контроллера для создания модели - PullRequest
1 голос
/ 16 ноября 2011

Скажите, что у меня есть модель User и модель Book. У пользователя много книг.
Учитывая, что я хотел бы эти 3 операции:

  1. Добавить книгу к текущему пользователю
  2. Показать все книги текущего пользователя
  3. Показать все книги

Какие контроллеры я должен создать? Я чувствую, что № 2 должен быть в контроллере пользователя и № 3 в контроллере книги. Имеет ли это смысл?

Где должен быть № 1? Что такое "правильный путь"? «Самый ООП» способ?

Ответы [ 2 ]

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

Как User has_many Books, создание книги и добавление ее к текущему пользователю должно перейти к BooksController.Я предполагаю, что вы храните Книги в отдельной таблице, а идентификатор экземпляра User и Book в другой таблице (даст вам преимущество не повторять Книги, которые когда-то хранятся, что для меня похоже на общий случайсценарий здесь).

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

У вас должны быть как пользовательские, так и книжные контроллеры.Здесь, в вашем случае, вы должны использовать ассоциации между моделями для связи друг с другом.Например, «имеет много» ассоциаций для книг в User.

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