2014-04-07 40 views
9

Bir get aracılığıyla çalışır aşağıdaki rota: Kanopi ad olanSymfony'nin 2 yönlendirmesi rota

CanopyAbcBundle_crud_success: 
    pattern: /crud/success/ 
    defaults: { _controller: CanopyAbcBundle:Crud:success } 
    requirements: 
    _method: GET 

, paket AbcBundle, kontrolör Crud olduğunu aksiyon başarıdır.

şu başarısız:

return $this->redirect($this->generateUrl('crud_success')); 

Unable to generate a URL for the named route "crud_success" as such route does not exist. 
500 Internal Server Error - RouteNotFoundException 

nasıl generateUrl ile yönlendirebilir()?

+3

Eğer kullanım olmalıdır: $ bu return -> yönlendirme ($ this-> generateUrl ('CanopyAbcBundle_crud_success')); –

cevap

17

temizle parametreleri şöyle geçmek gerekiyorsa php app/console cache:clear

return $this->redirect($this->generateUrl('CanopyAbcBundle_crud_success')); 

kullanarak cache:

return $this->redirect($this->generateUrl('CanopyAbcBundle_crud_success', array('param1' => $param1)), 301); 
4

sizin YAML ilk satırı router ile kullanılması gereken rota adıdır bileşen. Yanlış rota adı için bir URL oluşturmaya çalışıyorsunuz, sizinki, crud_success değil. Ayrıca, generateUrl() yöntemi ne yazıyor: Güzergah adı ve parametrelerden (geçirildikleri) bir URL oluşturur. 403 yönlendirme yanıtı dönmek gerekirse, Sen de Controller temel sınıf yerleşik $this->redirect($this->generateUrl('CanopyAbcBundle_crud_success')) kullanabilir veya böyle Symfony\Component\HttpFoundation\RedirectResponse bir örneğini geri dönebilirler:

public function yourAction() 
{ 
    return new RedirectResponse($this->generateUrl('CanopyAbcBundle_crud_success')); 
} 
İlgili konular