2010-11-05 6 views

Répondre

4

Don est proche, mais users_path est (je suppose) l'indice action d'un UsersController, de sorte que vous n'avez pas besoin (et en fait ne devez pas passer) de l'utilisateur dans l'assistant. Link_to est en fait une méthode d'assistance, qui accepte quelques arguments. Le premier argument est le texte du lien lui-même (ce qui se passe entre <a> et </a>). Vous n'avez pas besoin d'utiliser la syntaxe ERB que vous essayez d'utiliser, transmettez simplement le texte que vous voulez (user.email ou user.name, peu importe).

<%= link_to user.email, user_path(user) %> 
+0

@Saran: Votre question est pour Rails 3, mais si jamais vous utilisez Rails 2, ne pas oublier de html échapper: utiliser 'h (user.email)' au lieu de 'user.email' – Zabba

+0

Par Par défaut, 'users_path' va à une action #index, donc cette réponse va réellement lier l'adresse email de tout le monde à la (probablement) page" tous les utilisateurs ". En outre, le rythme Don ci-dessous, 'user_path (utilisateur)' est un synonyme de 'user' dans cet exemple, donc l'ensemble peut être simplifié en tant que' <% = link_to user.email, user%> '. – Eric

+0

@Eric Hill Oui, vous avez raison. J'ai fait l'erreur d'utiliser users_path parce qu'il l'a utilisé dans son exemple original, même s'il a dit dans sa question qu'il voulait créer un lien vers une page utilisateur individuelle au lieu de la page de tous les utilisateurs. Mis à jour pour corriger la réponse. Merci! –

3

Essayez ce qui suit, puisque vous voulez un lien vers un utilisateur et non l'indice de tous les utilisateurs

<%= link_to user.email, user_path(user) %> 
Questions connexes