2010-09-02 4 views
0

Je suis mise à niveau ma demande aux rails 3. Mon ancienne route a étérails 3 voies nommées

map.profile 'profile/:login', :controller => 'profile', :action => 'show' 

Je changé cela:

match 'profile/:login', :to => 'profile#show' 

Cela fonctionne quand je rentre dans l'itinéraire dire/profil/red99

Mais quand j'utilise un lien générique comme:

<%= link_to image.user.login, :controller => "profile", :action => image.user.login %> 

ou

<%= link_to "public profile", :controller => "profile", :action => current_user.login %> 

Je me donne l'erreur Aucun résultat de route {: controller => "profil",: action => "red99"}

Répondre

2

Si vous souhaitez spécifier l'URL du profil encore besoin d'utiliser les paramètres:

:controller => 'profile', :action => 'show', :login => current_user.login 

vous n'avez pas modifié le paramètre action en définissant cette voie, vous avez simplement fait une URL plus lisible en spécifiant implicitement l'action.