2010-10-25 11 views
0

J'apprends Symfony et je travaille avec l'URI suivante:Problème de routage Symfony - qu'est-ce que je fais mal?

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

Avec le dessous 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/* 

Sur la base des paramètres de l'URI de la route qu'il doit utiliser est ' item_show_user ', est-ce correct? Au lieu de cela, je reçois une erreur 404.

Etrangement si je change toutes les instances de résumé, modéliser (une autre colonne dans ma base de données) la route fonctionne absolument bien. Comment se peut-il?

De plus, lorsque l'URL ne travail (par exemple en utilisant le modèle) l'URL doit afficher comme:

/newItem/Name/Model 

Au contraire, il apparaît comme:

/newItem/Name/Model/?id= 

Pouvez-vous me aider là aussi?

Répondre

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

Vous devez placer le paramètre id sur votre itinéraire si vous souhaitez utiliser l'itinéraire item_show_user.

+0

Merci pour cela, je l'ai trouvé en expérimentant mais j'ai oublié de revenir et de le marquer comme résolu. – James