2017-03-14 25 views
0

在我的佈局中,我想通過id沙龍獲得salon_edit的視圖。 這裏是symfony2錯誤「可變」沙龍「不存在」在61 - ><a href="{{ path('salon_edit', { 'id':salon.id }) }}" class="link_pink">Mon compte salon</a>變量「沙龍」不存在 - (樹枝錯誤) - 獲取salon_id

你能幫我嗎?

這裏是樹枝與此河旁

<ul class="nav navbar-nav navbar-right"> 
         <li> 
          {% if is_granted('ROLE_SALON') %} 
           <a href="{{ path('salon_edit', { 'id':salon.id }) }}" class="link_pink">Mon compte salon</a> 
          {% elseif is_granted('ROLE_USER') %} 
           <a href=# class="link_pink">Mon compte</a> 
          {% endif %} 
         </li> 
        {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %} 
         <li> 
          <a href="{{ path('fos_user_security_logout') }}" class="link_rouge">Se déconnecter</a> 
         </li> 
        {% else %} 
         <li> 
          <a class="link_pink" href="{{ path('user_inscription') }}">S'inscrire</a> 
         </li> 
        {% endif %} 
       </ul> 

部分下面是saloncontroller

/** 
* Displays a form to edit an existing salon entity. 
* 
* @Route("/{id}/edit", name="salon_edit") 
* @Method({"GET", "POST"}) 
*/ 
public function editAction(Request $request, Salon $salon) 
{ 
    $deleteForm = $this->createDeleteForm($salon); 
    $editForm = $this->createForm('SalonBundle\Form\SalonType', $salon); 
    $editForm->handleRequest($request); 

    if ($editForm->isSubmitted() && $editForm->isValid()) { 
     $this->getDoctrine()->getManager()->flush(); 

     return $this->redirectToRoute('salon_edit', array('id' => $salon->getId())); 
    } 

    return $this->render('@Salon/salon/edit.html.twig', array(
     'salon' => $salon, 
     'edit_form' => $editForm->createView(), 
     'delete_form' => $deleteForm->createView(), 
    )); 
} 

堆棧跟蹤

[1] Twig_Error_Runtime: Variable "salon" does not exist. 
at n/a 
    in /var/www/html/salon-beaute/src/CoreBundle/Resources/views/Default/layout.html.twig line 61 

at __TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82->{closure}() 
    in /var/www/html/salon-beaute/app/cache/dev/twig/66/66beb7ecc8aa1a0e9315e0eddb676910b6afc28c60b27e59e4cc417df7bde814.php line 128 

at __TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82->block_header(array('app' => object(AppVariable)), array('title' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_stylesheets'), 'header' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_header'), 'body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'), 'javascripts' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_javascripts'), 'footer' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_footer'))) 
    in /var/www/html/salon-beaute/app/cache/dev/classes.php line 4577 

at Twig_Template->displayBlock('header', array('app' => object(AppVariable)), array('title' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_stylesheets'), 'header' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_header'), 'body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'), 'javascripts' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_javascripts'), 'footer' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_footer'))) 
    in /var/www/html/salon-beaute/app/cache/dev/twig/7a/7a92fc34297bb697cff5b7a080558e7f9d95ea471251008ab1f7e7390b0deb5a.php line 51 

at __TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528->doDisplay(array('app' => object(AppVariable)), array('title' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_stylesheets'), 'header' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_header'), 'body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'), 'javascripts' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_javascripts'), 'footer' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_footer'))) 
    in /var/www/html/salon-beaute/app/cache/dev/classes.php line 4682 

at Twig_Template->displayWithErrorHandling(array('app' => object(AppVariable)), array('title' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_stylesheets'), 'header' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_header'), 'body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'), 'javascripts' => array(object(__TwigTemplate_5cc24ee05b63b1a2f964871f6daa7de9297002ce6686929eddf463a4e536a528), 'block_javascripts'), 'footer' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_footer'))) 
    in /var/www/html/salon-beaute/app/cache/dev/classes.php line 4663 

at Twig_Template->display(array('app' => object(AppVariable)), array('header' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_header'), 'footer' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_footer'), 'body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'))) 
    in /var/www/html/salon-beaute/app/cache/dev/twig/66/66beb7ecc8aa1a0e9315e0eddb676910b6afc28c60b27e59e4cc417df7bde814.php line 28 

at __TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82->doDisplay(array('app' => object(AppVariable)), array('header' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_header'), 'footer' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_footer'), 'body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'))) 
    in /var/www/html/salon-beaute/app/cache/dev/classes.php line 4682 

at Twig_Template->displayWithErrorHandling(array('app' => object(AppVariable)), array('header' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_header'), 'footer' => array(object(__TwigTemplate_ff527ec479eaa508e6f0a4dde49c75ec7eaccfdd5401a5e2f3c7a5571c049b82), 'block_footer'), 'body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'))) 
    in /var/www/html/salon-beaute/app/cache/dev/classes.php line 4663 

at Twig_Template->display(array('app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'))) 
    in /var/www/html/salon-beaute/app/cache/dev/twig/ee/ee83aa46a744063fbc1dae1a5d8c7745a1257cd4f8dc9948b21b4f2f065ab756.php line 27 

at __TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6->doDisplay(array('app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'))) 
    in /var/www/html/salon-beaute/app/cache/dev/classes.php line 4682 

at Twig_Template->displayWithErrorHandling(array('app' => object(AppVariable)), array('body' => array(object(__TwigTemplate_1dd3d918e01d77f295bef77124491b666956198f387af3b7a6bd384c0793c7a6), 'block_body'))) 
    in /var/www/html/salon-beaute/app/cache/dev/classes.php line 4663 

at Twig_Template->display(array()) 
    in /var/www/html/salon-beaute/app/cache/dev/classes.php line 4670 

at Twig_Template->render(array()) 
    in /var/www/html/salon-beaute/vendor/symfony/symfony/src/Symfony/Bridge/Twig/TwigEngine.php line 50 

at Symfony\Bridge\Twig\TwigEngine->render('@Core/Default/homepage.html.twig', array()) 
    in /var/www/html/salon-beaute/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/TwigEngine.php line 72 

at Symfony\Bundle\TwigBundle\TwigEngine->render('@Core/Default/homepage.html.twig', array()) 
    in /var/www/html/salon-beaute/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/TwigEngine.php line 99 

at Symfony\Bundle\TwigBundle\TwigEngine->renderResponse('@Core/Default/homepage.html.twig', array(), object(Response)) 
    in /var/www/html/salon-beaute/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php line 185 

at Symfony\Bundle\FrameworkBundle\Controller\Controller->render('@Core/Default/homepage.html.twig') 
    in /var/www/html/salon-beaute/src/CoreBundle/Controller/DefaultController.php line 11 

at CoreBundle\Controller\DefaultController->indexAction() 
    in line 

at call_user_func_array(array(object(DefaultController), 'indexAction'), array()) 
    in /var/www/html/salon-beaute/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line 144 

at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), '1') 
    in /var/www/html/salon-beaute/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php line 64 

at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), '1', true) 
    in /var/www/html/salon-beaute/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php line 69 

at Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(object(Request), '1', true) 
    in /var/www/html/salon-beaute/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php line 185 

at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) 
    in /var/www/html/salon-beaute/web/app_dev.php line 28 
+0

你是否爲'沙龍'提供了一個價值?像你的控制器中的'return array('salon'=> $ salon)'。編輯:我的意思是在節目控制器中不是編輯節目(因爲你顯然在編輯中提供它)。 – mickdev

+0

謝謝@mikdev。是的,我已經在我的showAction公共功能showAction(沙龍$沙龍) { $ deleteForm = $ this-> createDeleteForm($ salon); return $ this-> render('@ Salon/salon/show.html.twig',array( 'salon'=> $ salon, 'delete_form'=> $ deleteForm-> createView(), )) ; } –

+0

是的,在這個lign'Mon compte salon'我想從我的SalonBundle \ Controller \ SalonController中調用editAction。 我以爲我正在調用這個動作。如何解決它?非常感謝 –

回答

1

你傳遞一個我的功能所稱的美容院陣列沙龍。如果你想訪問,你必須通過一個樹枝循環。因此,在您{% if is_granted('ROLE_SALON') %} <a href="{{ path('salon_edit', { 'id':salon.id }) }}" class="link_pink">Mon compte salon</a> {% elseif is_granted('ROLE_USER') %} <a href=# class="link_pink">Mon compte</a> {% endif %} 必須修改到:

{% if is_granted('ROLE_SALON') %} 
    {% for salon in salons %} 
     <a href="{{ path('salon_edit', { 'id':salon.id }) }}" class="link_pink">Mon compte salon</a> 
    {%endfor%} 
{% elseif is_granted('ROLE_USER') %} 
    <a href=# class="link_pink">Mon compte</a> 
{% endif %} 

編輯1:你能提供的請求屬性部分的內容在探查PLS?

+0

thx to @mickdev誰保持低調我的優點,而不是尋找回答問題。 –

+0

對不起,我不明白你的問題關於請求屬性部分的內容在探查器 –

+0

@PierrickMartellière我沒有投下你的答案。不要指責,去我的個人資料,並首先檢查。無論如何,你收到其他成員的投票,因爲你是垃圾郵件而不是回答問題。我在這裏幫忙,獲得積分是我最擔心的。現在我們可以幫助人們嗎?謝謝。 – mickdev