2009-09-17 8 views
2

quelque chose comme ceci:comment utiliser to_sentence pour les liens?

John envoyer un message à utilisateur1, utilisateur2, user3 et user4

cela ne fonctionne pas

@users.collect{ |u| link_to(u.name, user_path(u)) }.to_sentence 
+0

Votre exemple ci-dessus fonctionne pour moi. Quel genre de sortie obtenez-vous? – theIV

+0

Merci pour toutes les réponses. J'utilise erector et c'est probablement pourquoi ça ne marche pas. Cela me donne link1 link2 link3 sans virgule et 'and'. –

Répondre

2

Ez,

link_to en Erector va droit au flux de sortie. Vous devez soit remplacer to_sentence, soit appliquer le comportement de link_to, soit remplacer link_to. Comme link_to dans ce contexte est simple, je recommande que:

rawtext users.map { |u| 
     "<a href='#{user_path(u)}'>#{u.name}</a>" 
    }.to_sentence 
+0

c'est tout! Merci! –

3

Odd ...

@users.collect{ |u| link_to(u.name, user_path(u)) }.to_sentence 

et

@users.map{ |u| link_to(u.name, user_path(u)) }.to_sentence 

Devrait fonctionner. Quelle erreur obtenez vous?

+0

c'est génial. est là de toute façon pour servir le lien vers si le champ url est là et si ne sert pas seulement le nom? – jahrichie

0

Assurez-vous que vous imprimez réellement les résultats avec <%= ... %>, je sais que parfois j'oublie le signe égal et passe beaucoup de temps à essayer de comprendre les choses.

Questions connexes