是的。当您使用 jQuery 添加字段时,您只需遵守 Cake 的命名约定。
输入字段的“名称”属性应采用以下形式:
data[ModelName][X][field_name]
其中 X 是一个整数,表示该记录的编号。例如。如果您有 3 个关联地址,每个地址都有一个line_1
和line_2
字段,您生成的字段应如下所示:
<input type="text" name="data[Address][1][line_1]" id="Address1Line1">
<input type="text" name="data[Address][1][line_2]" id="Address1Line2">
<input type="text" name="data[Address][2][line_1]" id="Address2Line1">
<input type="text" name="data[Address][2][line_2]" id="Address2Line2">
<input type="text" name="data[Address][3][line_1]" id="Address3Line1">
<input type="text" name="data[Address][3][line_2]" id="Address3Line2">
请注意,X 不是 id 或任何东西 - 它只是一个数字,用于在同一模型中存在多个记录时区分不同记录。
如果您坚持 Cake 的约定,Cake 只需在控制器中自动处理它。