【发布时间】:2013-09-17 04:57:35
【问题描述】:
这是我想要完成的:
用户填写表格,保存记录。稍后他们希望“克隆”此记录,但可能需要进行一些调整。这种“克隆”功能应该将他们引导到一个预先填充了先前记录数据的表单,以便他们可以查看、根据需要进行编辑并将其作为新记录提交。
我正在尝试什么:
我已修改我的 add() 函数以接受参数:
function add($cloneid = NULL)
然后创建一个克隆链接,将它们发送到 siteurl/model/add/id_to_clone
然后,我从该模型中获取数据:
$clone_source = $this->Model->findById($cloneid);
$this->data['Model']['field1'] = $clone_source['Model']['field1'];
等等。根据谷歌搜索和其他帖子,这应该可行。但实际发生的情况是,在单击“克隆”链接后,用户被定向并且表单立即提交(未能保存记录,因为它未通过验证)并且用户实际上从未看到该表单。
我做错了什么? (另外我应该注意,存在关系模型,但我认为这不应该是任何问题的原因......我希望)。
【问题讨论】:
-
如果没有完整的代码,很难确定造成这种情况的原因。您能否使用添加功能、添加表单以及链接“克隆”来更新问题,将用户引导至立即提交的表单?
-
另外,能不能把$this->data['Model']['field1']改成$this->request->data['Model']['field1'],和然后尝试执行你的代码。
-
@AyoAkinyemi 的建议仅适用于 v2.x 版本。请提及您的蛋糕版本。
标签: cakephp