Choinek
Choinek

Reputation: 313

ZF2 doesn't use params while redirecting

I have a problem with routing in my app.

$this->redirect('someone', array('controller' => 'account', 'action' => 'settings'));

It always redirects to app.dev/someone doesn't matter what is in array.

I have found that problem is in method assemble from TreeRouteStack.php

TreeRouteStack.php:347

$path = $this->baseUrl . $route->assemble(array_merge($this->defaultParams, $params), $options);

I tried "die" before this line to test $params - everything is ok. So die(implode(',',$params)); before code above returns

account, settings

But after this echo $path returns

/someone

instead of

/someone/account/settings

Where could be problem? I'm using ZF2 2.2.2

Upvotes: 0

Views: 78

Answers (1)

Adrian Nowicki
Adrian Nowicki

Reputation: 703

Use

$this->redirect()->toRoute(
    'someone',
     array('controller' => 'account', 'action' => 'settings')
); 

instead of

$this->redirect(
    'someone',
    array('controller' => 'account', 'action' => 'settings')
);

Please take a look at Redirect Plugin in zf2 docs

Upvotes: 1

Related Questions