我的 中有以下内容app/frontend/config/routing.yml:
主页:
网址:/
参数:{ 模块:主要,操作:索引 }
默认索引:
网址:/:模块
参数:{ 操作:索引 }
默认:
url: /:模块/:操作/*
sf_guard_寄存器:
网址:/注册
参数:{ 模块:用户,操作:注册 }
sf_guard_登录:
网址:/登录
参数:{ 模块:sfGuardAuth,操作:登录 }
sf_guard_signout:
网址:/注销
参数:{ 模块:sfGuardAuth,操作:注销 }
sf_guard_密码:
网址:/请求密码
参数:{ 模块:sfGuardAuth,操作:密码 }
当我尝试这条/register路线时,我得到了这个:
操作“注册/索引”不存在。
我应该指定,我没有“注册”模块,并且如果手动调用,我的用户模块运行良好。另外,其他路线也运行良好。
欢迎任何想法,谢谢!
与杰里米的回答一致:
因为你的default_index路由放在上面,going 会/register导致这条路由匹配。由于它位于sf_guard_register路线之前,因此只有第一个匹配“有效”。
你的routing.yml应该是这样的:
sf_guard_register:
url: /register
param: { module: user, action: register }
sf_guard_signin:
url: /login
param: { module: sfGuardAuth, action: signin }
sf_guard_signout:
url: /logout
param: { module: sfGuardAuth, action: signout }
sf_guard_password:
url: /request_password
param: { module: sfGuardAuth, action: password }
homepage:
url: /
param: { module: main, action: index }
default_index:
url: /:module
param: { action: index }
default:
url: /:module/:action/*
Run Code Online (Sandbox Code Playgroud)
此外,您可能还需要遵循一些最佳实践:
@homepage时找出要匹配的路由更快。因此,请禁用默认路由并自行创建路由。然后,在生成 URL 时使用路由名称。url_forlink_tosf_guard_register顶部。只是我的 5 美分 - 希望你觉得它有用;-)
| 归档时间: |
|
| 查看次数: |
4699 次 |
| 最近记录: |