I'm not positive about it, but I think you need to add a regexp:
Router::connect(
'/risks/add/:project_id',
array(
'controller' => 'risks',
'action' => 'add'
),
array(
'project_id' => '[0-9]+',
'pass' => array('project_id')
)
);
On Wed, Jun 3, 2009 at 12:15 PM, jake1729 <[email protected]> wrote:
>
> 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
-~----------~----~----~----~------~----~------~--~---