1
如果在保存後沒有重定向(如果您保持在同一個動作/頁面上),保存後如何重置實體?保存後重置控制器中的實體(或創建新的空實體)
例如:我有一個列出所有用戶的頁面。在同一頁面上有添加新用戶的表單。
public function index() {
$this->set('listallusers', $this->Users->find('all'));
$user = $this->Users->newEntity();
if ($this->request->is('post')) {
$user = $this->Users->patchEntity($user, $this->request->data);
if ($this->Users->save($user)) {
$this->Flash->succeed('User saved.');
// line 8
} else {
$this->Flash->error('There is an error.');
}
}
$this->set('user', $user);
}
我試圖閃光燈消息後添加$user = '';
在08行,以及$user = $this->Users->newEntity();
但頁面上的形式仍然包含/顯示最後保存的用戶的值(我想當保存成功時有一個空的表單)。
你*不*只是停留在同一頁上。保存是來自POST的結果,因此您需要在之後進行GET(重定向)以遵循PRG模式,爲避免出現其他問題,您必須遵循PRG模式。然後你的問題就解決了。所以總是重定向,在你的情況下,只是再次相同的URL。問題解決了 - 通過設計。 – mark