如何检查FOSJSRoutingBundle中是否存在路由

时间:2015-12-18 19:24:58

标签: javascript symfony

var possibleRoute = "crm_finance_report";  
var route = Routing.generate( possibleRoute );

这会抛出错误,如何检查路线是否存在?

错误是因为路线不存在,但我希望在这种情况下显示消息或其他内容。

2 个答案:

答案 0 :(得分:3)

您可以检查一些事项:

  • 错误是什么意思?

另外:

  • 路线是否标记为公开?:

    options:
        expose: true
    
  • 您有dump路线了吗?:bin/console fos:js-routing:dump

  • 您是否已将JS路由脚本添加到HTML中?:

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

绝对阅读documentation

编辑:要明确检查使用JavaScript的路由是否存在,您可以做两件事:

  1. 致电Routing.getRoutes()并检查您的路线是否存在。
  2. 调用Routing.getRoute(...)并捕获错误(如果路由...不存在则会抛出此错误。)

答案 1 :(得分:0)

使用控制台工具。在Symfony2中它是:

app/console debug:router

在Symfony3中它是:

bin/console debug:router

最终,如果上述示例中的php不起作用,则必须预先添加{{1}},具体取决于您使用的操作系统。