Я пытаюсь улучшить настройку для обновления модели с вложенными свойствами.
Прямо сейчас в моем представлении редактирования я определяю textFieldTag вручную, чтобы создать структуру параметров, установив имя как "myModel[myNestedProperty][#modelID#,#key2id#][name]"
в действии обновления...
если я просто использую myModel.update(params.myModel)
, я не могу заставить обновление работать, если есть какие-либо элементы, требующие удаления
поэтому я уничтожаю все модели вложенного свойства, которые имеют тот же идентификатор, что и myModel, и в этом случае это работает.
Недостатком является то, что в случае сбоя обновления все вложенные свойства исчезают.
Я пытался сначала захватить все модели, прежде чем удалять их и .save
ing их, но по какой-то причине это не работает.
Похоже, что cfwheel настроен для такого рода отношений с флажками, но мне нужно, чтобы он работал с текстовым полем и выбирал элементы в моей форме.
Обновить
Я понял, что у меня другая проблема. По сути, я хотел бы расширить это, чтобы иметь возможность использовать его для нескольких вложенных свойств и отношений.
проблема в том, как я устанавливаю имя, особенно для выпадающих списков выбора:
name="myModel[myNestedProperty][#modelID#, ][nestedID]"
проблема в том, что второй идентификатор не может быть объявлен, потому что он будет назначен как идентификатор, а не с использованием значения, которое я выбираю.
Честно говоря, это единственная проблема, с которой я боролся все свое время. Я справляюсь с этим, регенерируя модели в контроллере, я просто забыл, что еще не решил эту проблему.
Есть ли способ, которым я могу вообще не использовать эти значения и динамически заполнять их из структуры?
скажем, у меня есть (усеченное) имя tcat[34,0][catID]
или tcat[34,][catID]
(где идентификатор кошки должен быть вторым идентификатором).
сгенерированная структура tcat params
[34,0]{catID = 12,14,18}
or
[34,]{catID = 12,14,18}
Я бы хотел, чтобы структура tcat params имела несколько структур, таких как:
[34,12]{tID = 34; catID = 12}
[34,14]{tID = 34; catID = 14}
[34,18]{tID = 34; catID = 18}
Это можно обойти?
Я работаю с большим количеством вложенных свойств составного ключа, и если бы я мог работать только с этой частью, это сделало бы это намного проще. Я знаю, что один из способов - обновить имя с помощью javascript, но я думаю, что это будет (очень, очень) последнее средство.
EQ ''
то оно не добавляется - person Daniel   schedule 08.05.2012