【发布时间】:2011-08-18 19:08:39
【问题描述】:
我在这里的第一篇文章,希望它是正确的! =)
我正在创建一个站点来管理使用 symfony 1.4 和教义的 Web 应用程序开发。 我的记录包括 Project 和 ProjectFeatures 这个问题
现在我想做的是使用管理生成器让用户通过一个链接来管理一个项目的功能,该链接通过 project_id 约束所有返回的功能,看起来像:http://mysite/member/project/:project_id/features
在我的 routing.yml 配置中,我有:
member_project_feature: class: sfDoctrineRouteCollection options: model: ProjectFeature module: memberProjectFeature prefix_path: /member/project/:project_id/features with_show: true column: id with_wildcard_routes: true
project_id 是模型 ProjectFeature 中的现有列,
我将使用自定义查询仅通过该 project_id 检索功能。
现在我可以生成一个链接到该管理生成器模块的 url,使用:url_for('member_project_feature', array('project_id' => $project['id']))
并且路由系统确实可以识别 url:May 04 14:30:59 symfony [info] {sfPatternRouting} Match route "member_project_feature" (/member/project/:project_id/features.:sf_format) for /member/project/1/features with parameters array ( 'module' => 'memberProjectFeature', 'action' => 'index', 'sf_format' => 'html', 'project_id' => '1',)
但管理员生成器无法使用该前缀路径在其模板内生成它的链接,并返回错误 InvalidArgumentException 并带有消息 “/member/project/:project_id/features/:action/ action.:sf_format" 路由缺少一些强制参数 (:project_id)。
有什么想法吗?
【问题讨论】:
标签: symfony1 symfony-1.4