Установить функцию твикового пути для создания действия с помощью jquery

Я использую Symfony 2.3.4 и, конечно, Twig.

Теперь я пытаюсь установить путь функции twig() для действия формы, проблема в том, что... я не могу.

когда я запускаю это:

$('#prof_create').prop('action',"{{ path('profesor_create') }}");

к чему я стремлюсь - это результат:

<form id="prof_create" action="/SVN/Symfony/web/app_dev.php/admin/profesor/create" method="post" {{="" form_enctype(form)="" }}=""> <p> {{path ('profesor_create')}} ->/SVN/Symfony/web/app_dev.php/admin/profesor/create</p> <p> файл javascript не показывает никакой ошибки или предупреждения, но он действительно не работает, потому что когда я пытаюсь отправить форму: Ошибка</p> <p> Не найден маршрут для "POST/admin/profesor/% 7B% 7B %20path (% 27profesor_create% 27) %20% 7D% 7D"</p> <p> что означает, что он не "трансформировался",</p> <pre class="prettyprint linenums">{{ path('profesor_create') }}

в

/SVN/Symfony/web/app_dev.php/admin/profesor/create

что я не хочу делать, это записать весь адрес в js-функции, есть ли способ сделать это?

Спасибо в adv.

2 ответа

Twig и его переменные обрабатываются и обрабатываются до того, как в вашем браузере будет отображаться фактический вывод HTML.

Поэтому в этом случае {{path ('profesor_create')}} - это еще одна строка, которая не обрабатывается Twig Engine, поскольку она уже запущена и сгенерирована.

Либо сделайте свой маршрут перед рукой, либо настройте его там, где он вам нужен, или используйте набор маршрутизации javascript, например https://github.com/FriendsOfSymfony/FOSJsRoutingBundle, чтобы отобразить ваш маршрут в JS для работы с ним.


{# ../some.html.twig #}
<form id="prof_create" action="{{ path('profesorext_create') }}" method="post" {{="" form_enctype(form)="" }}="">
 {{ form_widget(form) }}

 <div>
 <button onclick="before_submit_action()" id="submit_prof">
  {{'Guardar' | trans}}</button>

 <a href="{{ path('profesorext') }}" target="_blank">
  {{'Cancelar' | trans }}</a>
 </div>
</form>

licensed under cc by-sa 3.0 with attribution.