Какой способ справиться со многими ко многим? - PullRequest
2 голосов
/ 26 марта 2011

Хорошо, у меня есть фотомодель и контроллер, который обрабатывает фотографии. У меня есть две другие модели ресторана и блюда, которые я хочу, чтобы фотографии обрабатывались фотомоделью.Поэтому я создал модель фотографий, которая как полиморфная ссылка на таблицы базы данных блюд или ресторанов.Должен ли я использовать контроллер ресторана для обработки загрузки фотографий ресторана и то же самое для контроллера блюдо, или я должен использовать фотоконтроллер для обработки загрузки для обоих?

Ответы [ 2 ]

1 голос
/ 26 марта 2011

Единственная причина использовать полиморфные классы состоит в том, что их бизнес (или что-то еще) логика очень одинакова, единственное отличие состоит в их структуре данных (которая также имеет похожую часть).Таким образом, вы должны использовать или полиморфные модели с одним контроллером, или отдельные классы (модели) с отдельными контроллерами.

И, конечно, вы можете использовать отдельные контроллеры для своих полиморфных моделей, но я считаю, что это не из лучших практик1003 *

0 голосов
/ 26 марта 2011

С этой схемой вы можете рассматривать фотографии как несколько сложные атрибуты для записей Ресторанов и Блюд. Так что я бы, вероятно, имел дело с загрузкой фотографий в том же месте, где обрабатываются другие атрибуты для ресторанов и блюд. В схеме RESTful это может произойти в действиях new / edit в restaurant_controller и dish_controller. Весь процесс загрузки файла может значительно помочь с хорошим плагином, таким как CarrierWave .

...