I have been struggling with this for about 3 weeks. A variable is not
being created in the pass array. I need the value of "project_id" to
be included when creating a new risk. The Risks table must have a
value for project_id.
Please, what am I doing wrong here?
======
CONTROLLER (RisksController)
function add($project_id = null) {
if (!empty($this->data)) {
$this->Risk->create();
$this->data['Risk']['project_id'] = $project_id;
if ($this->Risk->save($this->data)) {
$this->Session->setFlash(__('The Risk has been
saved', true));
$this->redirect(array('action'=>'index'));
} else {
debug($this->params);
$this->Session->setFlash(__('The Risk could not be
saved. Please, try again.', true));
}
}
$projects = $this->Risk->Project->find('list');
$riskcategories = $this->Risk->Riskcategory->find('list');
$this->set(compact('projects', 'riskcategories'));
}
======
ROUTE (routes.php)
Router::connect(
'/risks/add/:project_id',
array(
'controller' => 'risks',
'action' => 'add'
),
array(
'pass' => array('project_id')
)
)
======
VIEW (creates link with project_id value; inside of projects view.ctp)
<li><?php echo $html->link(__('Add New Risk', true), array
('controller'=> 'risks', 'action'=>'add', 'project_id' => $project
['Project']['id'])); ?> </li>
======
URL (being passed to risks add action. The "1" below is the passed
project_id, whichI need to pass to the database when adding new risk)
http://localhost/PBSRG/cake_1_2/risks/add/1
======
DEBUG (debug($this->params); in the add action in risks_controller)
Array
(
[pass] => Array
(
)
...
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---