这个问题有点n00b-ish,但我无法在CakePHP 文档或通过谷歌找到令人满意的解决方案。
我正在尝试制作一个简单的 AJAX 表单,它将更新数据库中的一些信息,并在页面上显示该信息。整个过程看起来很简单,除了我不知道如何预填充更新 div。
在我的视图代码中,我有
<div id="interestingContent"></div>
<?
echo $this->Form->create();
// create form fields here
echo $this->Js->submit('Save', array('update'=>'#interestingContent');
echo $this->Form-end();
echo $this->Js->writeBuffer();
?>
这很好用,当提交表单时,我的控制器正确调用
$this->render('ajaxview','ajax')
并适当地更新#interestingContent
div。
#interestingContent
所以,问题是:从数据库预填充的最佳方法是什么?当然我可以从ajaxview.ctp
内部重复代码#interestingContent
,但似乎必须有一种 DRY 方法来做到这一点。
我的第一个想法是制作ajaxview.ctp
一个元素,因为我基本上是在尝试将一个视图嵌入到另一个视图中。不过,这对我来说似乎很骇人听闻,因为我的控制器将直接渲染元素的视图。我还考虑了 2.1/2.2 中的新视图块,但这似乎也不对。
我敢肯定,这种事情总是会出现。有没有普遍接受的方法来做到这一点?