Я часто нахожусь в ситуации, когда я хочу только представить и отредактировать некоторые поля из моей модели.Допустим, у меня есть модель, которая отображает адрес, возможно, я просто хочу, чтобы форма обновляла поля города и почтового индекса (плохой пример, но, надеюсь, это объясняет сценарий).
Я знаю два метода:
1) Сохраните ненужные поля в скрытых элементах ввода в форме, или ... 2) Создайте специальную модель представления, которая просто определяет нужные мне поля.
Я предпочитаю вариант № 2,но у меня нет хорошего чистого способа объединения данных из модели представления обратно в «реальную» модель в действии контроллера.На данный момент я придерживаюсь этого подхода ...
1) Сохраните запись, которую я бы скрыл в скрытом поле на модели представления. 2) Когда страница отправляется обратно, контроллер извлекает исходную запись, и я вручнуюприсвойте каждое поле из модели представления реальной модели. 3) Сохраните реальную модель обратно в хранилище данных.
Это работает, но это довольно трудоемкая работа, и очень легко пропустить назначение / переназначение иМне было интересно, если кто-нибудь знал о другом подходе?