【问题标题】:symfony3 route: doesnt work from a routing file but it does from anothersymfony3 路由:在路由文件中不起作用,但在另一个路由文件中起作用
【发布时间】:2017-03-17 12:55:20
【问题描述】:

我的项目中有两个路由文件:

event.yml
user.yml

我正在尝试向 event.yml 文件添加新路由:

registro_eventos:
    path: /evento
    defaults: { _controller: AppBundle:Event:registroevento }

EventController.php 文件上的函数 registroeventoAction 是:

public function registroeventoAction(Request $request)
{
    $evento = new Evento();
    $form = $this->createForm(EventoType::class, $evento);
    return $this->render('AppBundle:Event:registroeventos.html.twig',array(
        'form' => $form->createView()
    ));

}

当我尝试路由时,答案是err_invalid_response(就像路由不存在一样)。

我已经尝试将不同的路由添加到同一个文件并且总是相同的 amswer(我不得不说这个文件中以前的路由工作正常!)

最后我已经将路由添加到user.yml 文件并且工作正常!

有人知道为什么会这样吗?

提前感谢您的帮助!

阿图罗

添加信息:

app/config/routing.yml 的内容是:

app:
resource: "@AppBundle/Resources/config/routing.yml"
prefix: /

AppBundle/Resources/config/routing.yml的内容是:

app_user:
resource: "@AppBundle/Resources/config/routing/user.yml"
prefix: /

app_event:
resource: "@AppBundle/Resources/config/routing/event.yml"
prefix: /

app_homepage:
path: /
defaults: { _controller: AppBundle:User:login }

app_candidato:
resource: "@AppBundle/Resources/config/routing/candidato.yml"
prefix: /

这是 AppBundle/Resources/config/routing/event.yml 的内容(此路由正常工作,但如果我添加新路由,则不会)

home:
path: /home
defaults: { _controller: AppBundle:Event:index }

indice_eventos:
path: /indice_eventos
defaults: { _controller: AppBundle:Event:indice }

inscriptos_evento:
path: /inscriptos/{slugevento}
defaults: { _controller: AppBundle:Event:listadoInscriptos, slugevento:null   }    

inscriptos_excel:
path: /{_filename}.{_format}
defaults: { _controller: AppBundle:Event:excelInscriptos, _format: xlsx }    


inicia_registro:
path: /inicia_registro
defaults: { _controller: AppBundle:Event:iniciaRegistro }    

datos_personales:
path: /datos_personales
defaults: { _controller: AppBundle:Event:datosPersonales }  

最后是 AppBundle/Resources/config/routing/user.yml 的内容

login:
path: /login
defaults: { _controller: AppBundle:User:login }

login_check:
path: /login_check

logout:
path: /logout


register:
path: /register
defaults: { _controller: AppBundle:User:register }

user_email_test:
path: /email-test
defaults: { _controller: AppBundle:User:emailTest }
methods: [POST]

user_edit:
path: /my-data
defaults: { _controller: AppBundle:User:editUser }

usuarios_list:
path: /usuarios
defaults: { _controller: AppBundle:User:usuarios }

usuarios_search:
path: /search
defaults: { _controller: AppBundle:User:search }  

registro_eventos:
path: /evento
defaults: { _controller: AppBundle:Event:registroevento }   

editar_evento:
path: /evento/{idevento}
defaults: { _controller: AppBundle:Event:editevento, idevento:null }  

borrar_evento:
path: /delevento/{idevento}
defaults: { _controller: AppBundle:Event:deleteEvento, idevento:null }  

【问题讨论】:

  • 你是如何导入这些文件的?
  • 您的路由文件在哪里?它们是否在 app/config/routing.yml 中正确定义?
  • 嗨!感谢您的回复!我会回复您的问题,将信息添加到 ppost

标签: php symfony


【解决方案1】:

在app/config/routing.yml 文件中添加路由文件:

my_events:
    prefix: /events
    resource: "@appBundle/Resources/config/event.yml"

您可以使用"PATH/events/evento"访问

【讨论】:

  • 您好,谢谢您的回答,我刚刚编辑了帖子,包含所有yml路由文件的内容。我会尽力按照你所说的做,但奇怪的是(比如 netflix!) event.yml 上的旧路由正在运行!
猜你喜欢
  • 1970-01-01
  • 2019-11-03
  • 2013-01-11
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 2021-04-25
  • 2017-10-31
  • 1970-01-01
相关资源
最近更新 更多