2010-10-25 38 views
0

我学习Symfony和我用下面的URI工作:Symfony路由问题 - 我做错了什么?

url_for('newItem/show?id='.$item->getId().'&name='.$item->getName().'&summary='.$item->getSummary()) 

随着下面的routing.yml

item_show_user: 
    url: /newItem/:name/:summary 
    param: {module: newItem, action: show} 

# default rules 

homepage: 
    url: /
    param: { module: newItem, action: index } 

default_index: 
    url: /:module 
    param: { action: index } 

default: 
    url: /:module/:action/* 

基于URI的参数应该使用的路线是“ item_show_user',这是正确的吗?相反,我得到一个404错误。

奇怪的是,如果我更改所有摘要的实例,建模(我的数据库中的另一列),路线工作绝对好。怎么会这样?

而且当URL不工作(例如,使用模型)的网址应显示为:

/newItem/Name/Model 

相反,它显示为:

/newItem/Name/Model/?id= 

你能帮我在那里也?

回答

1
item_show_user: 
    url: /newItem/:name/:summary/:id 
    param: {module: newItem, action: show} 

如果你想使用item_show_user路由,你需要在你的路由上放置id参数。

+0

非常感谢,我通过实验发现了这一点,但忘了回来并将其标记为已解决。 – James 2010-10-25 21:51:10