javascript — множественные действия контроллера symfony, представленные в уникальном шаблоне — достигнут максимальный уровень вложенности

Я использую вкладки JavaScript для визуализации различных макетов, соответствующих различным представлениям с различными формами.

У меня есть основной маршрут следующим образом:

/**
* @Route("/my_ingredients", name="my_ingredients")
* @Method("GET")
* @Template("MarketPlace/UserIngredient/my_ingredients.html.twig")
*/
public function myIngredientsAction()
{
return array();
}

В макете myingredients у меня есть следующее:

        {% if ingredient_form is defined %}
{% include 'MarketPlace/Product/create_ingredient.html.twig' %}
{% else %}
{{ render(controller('AppBundle:MarketPlace/Product:createIngredient')) }}
{% endif %}

В действии createIngredient у меня есть:

/**
* @Route("/create_ingredient", name="create_ingredient")
* @Method({"POST", "GET"})
* @Template("MarketPlace/Product/create_ingredient.html.twig")
* @param Request $request
* @return array|\Symfony\Component\HttpFoundation\RedirectResponse
*/
public function createIngredientAction(Request $request)
{

$productManager = $this->get('product_manager');
$ingredient = new Product();
$ingredientForm = $productManager->getIngredientCreateForm($ingredient);

$formManager = $this->get('form_manager');

if ($request->getMethod()=='POST')
{
if ($formManager->handleRequestAndValidatePersist($ingredientForm,$ingredient))
{
$productManager->saveUserIngredientOnCreateIngredient($ingredient);
return $this->redirect($this->generateUrl('my_ingredients')."#choose");
}
}

return $this->render(
"MarketPlace/Product/create_ingredient.html.twig",
array(
'ingredient_form' => $ingredientForm->createView()
)
);
}

Наконец, в макете create_ingredient у меня есть только:

{{ form(ingredient_form) }}
{{ form_stylesheet(ingredient_form) }}
{{ form_javascript(ingredient_form) }}

Почему это порождает бесконечный цикл? У меня сложилось впечатление, что я правильно звоню GET->myIngredientsAction->GET=>{{ render(controller('AppBundle:MarketPlace/Product:createIngredient')) }}->GET=>render("MarketPlace/Product/create_ingredient.html.twig")

Любая помощь будет очень ценится!

1

Решение

Эта ошибка возникает только в том случае, если установлен xdebug, и обычно используется с максимальным значением по умолчанию, равным 100 (без xdebug нет ограничения).

 xdebug.max_nesting_level = 300

в вашем php.ini все исправят

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]