I have a Horse object that has a completed variable (text). I want to be able to click set complete in the View and then have that horse's completed variable set to "yes." After this, we would redirect the user to tasks/index. My thinking is to create setcomplete($id) function in Controller, so I could pass /setcomplete/4 and that horse's flag would change.
I have created a basic view for it, but the idea is that I would not need a view, but I do not know how to get around that....I was thinking of using $this->render() or something of this nature.
This is the basic code...pass in the id and then change the variable, then redirect to tasks/index.
I am not getting an error....its just not working, that's all.
public function setcomplete($id = null) {
if (!$this->Task->exists($id)) {
throw new NotFoundException(__('Invalid task'));
}
if ($this->request->is(array('post', 'put'))) {
$this->set('completed', 'yes');
if ($this->Task->save($this->request->data)) {
$this->Session->setFlash(__('The task has been updated.'));
return $this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The task could not be saved. Please, try again.'));
}
} else {
}
}
$this->layout = $this->autoRender = false;, will stop it from throwing errors about a missing view.debug($this->request->data)above the line that does the save and post the results here? Might help pinpoint the issue..