(Symfony 4) FOS Js Routing Bundle - Маршрут ------- не существует. - PullRequest
0 голосов
/ 22 декабря 2018

Кажется, что файл маршрутизации yml не выбирается пакетом Fos Js Routing.Вот что я сделал до сих пор:

Настройка:

$./composer.phar  require friendsofsymfony/jsrouting-bundle
$bin/console assets:install --symlink public
$bin/console fos:js-routing:dump --format=json --target=public/js /fos_js_routes.json

В файле base.html.twig:

<script src="{{ asset('bundles/fosjsrouting/js/router.min.js') }}"></script>
<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>

В отдельном файле модуля .js:

const routes = require('../../public/js/fos_js_routes.json');
import Routing from '../../vendor/friendsofsymfony/jsrouting-bundle/Resources/public/js/router.min.js';

В config \ rout.yaml:

add_post_comment:
    path:   /comment/add/post
    controller: App\Controller\CreatorDashboard\CommentController::addPostComment
    requirements:
     _method:  POST

В моем файле javascript .js:

$(document).ready(function() {
    $(".post-comment").keyup(function(e) {

        var code = e.which;
        if(code==13)
        {
            var commentText = $(this).val();
            var postId = $(this).data("postid");
            var userId= $(this).data("userid");

            console.log("userId is " + userId + " and postId is " + postId + " and commentText is " + commentText);
            var theRoute = Routing.generate('add_post_comment'); // have also tried Routing.generate('/comment/add/post'); 
            alert("the route is " + theRoute);

В консоли JavaScript я получаю сообщение об ошибке:

Error: The route "add_post_comment" does not exist.

Может быть, он не видит файл yaml?Есть ли шаг, который я пропускаю?

Я также перезапустил nginx.

1 Ответ

0 голосов
/ 22 декабря 2018

Вы не выставляете свой маршрут так:

# app/config/routing.yml
my_route_to_expose:
    pattern: /foo/{id}/bar
    defaults: { _controller: AppBundle:Default:index }
    options:
        expose: true
...