Обработка модели на основе представления, которая на самом деле не относится к форме, на которой она отображается - PullRequest
0 голосов
/ 09 ноября 2009

Трудно объяснить, но я собираюсь попробовать: у меня есть модель под названием Message, которая представляет собой запрос на отправку электронного письма, модель с именем Segment, извлекаемая из стороннего приложения с использованиемMySQL view (и только для чтения) и, наконец, модель User.И сегмент, и сообщение принадлежат пользователю.

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

Теперь я запутался в том, как сделать это.Я мог бы создать новую модель под названием MessageSegment, которая объединяет сообщения и сегменты, но это оставляет вопрос о том, как обращаться со значением по умолчанию, поскольку его нельзя добавить в базовую модель сегмента, но он должен оставаться выбираемым вариантом.

1 Ответ

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

Я думаю, что самый простой способ - создать таблицу соединений для сообщений и сегментов (как вы предложили) и добавить столбец к модели сообщений «отправить всем» или что-то похожее.

Но если сегменты принадлежат другому приложению, это может изменить эту таблицу, и тогда все ваши сообщения могут быть нарушены. Кроме того, если сегменты изменятся, то «отправлено всем» имеет другое значение. Таким образом, если вы уверены, что это приложение, которое подает таблицу сегментов, не прервет соединения сегментов и сообщений, то, если пользователь выберет «отправлено всем», вы можете связать все сегменты и не использовать дополнительный столбец.

Но если таблица сегментов может измениться, я скопирую все данные из таблицы сегментов и свяжу их с сообщением. Я знаю, что это избыточно, но это будет более безопасно.

Надеюсь, это поможет.

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