比方說,我有一個帖子表和一個評論表。我希望我的/ posts/view/page在同一頁面上提交表單以提交評論,就像任何典型的博客一樣。我不知道我要去哪裏錯在這裏,但是這是我試過:如何在另一個控制器中爲一個模型提交表單?
class PostsController extends AppController {
var $name = 'Posts';
var $uses = array('Post', 'Cmt');
function view($id = null) {
...
if (!empty($this->data)) {
$this->Cmt->create();
if ($this->Cmt->save($this->data)) {
$this->Session->setFlash(__('The cmt has been saved', true));
}
}
$this->set('post', $this->Post->read(null, $id));
}
,並在視圖
<?php echo $this->Form->create('Cmt');?>
<fieldset>
<?php
echo $this->Form->input('name');
echo $this->Form->input('email');
echo $this->Form->input('title');
echo $this->Form->input('content');
?>
<div class="input select required"><label for="CmtStpageId">Post</label>
<select id="CmtPostId" name="data[Cmt][post_id]">
<option value="1">postname</option>
</select>
</div>
</fieldset>
<?php echo $this->Form->end(__('Submit', true));?>
什麼是錯在這裏,不會讓一個記錄要發佈到cmts表?你可以看到,因爲選擇框沒有填充任何原因的帖子ID,所以我將帖子ID硬編碼到該表單中,就像你看到的那樣。任何幫助也將不勝感激。