2009-02-24 13 views
3

Je voudrais rendre le texte multiligne dans Rails, l'action ressemble à:Rendu un texte multiligne avec Rails?

def mutli_text 
    render :text => 'Word1\nWord2' 
end 

et je vous attendez la réponse à:

Word1 
Word2 

unfortunatly Je reçois Mot1 \ nWord2

Toute aide serait appréciée

(L'action doit générer une réponse multiligne pour que le plugin jQuery de saisie semi-automatique fonctionne)

Répondre

14
"Word1\nWord2" 

Vous devez utiliser des guillemets doubles pour pouvoir utiliser des caractères échappés. Mais si vous voulez que ce soit réellement un saut de ligne dans le navigateur, vous devez en faire un vrai tag html.

'Word1<br/>Word2' 

Ou encore:

"Word1<br/>\nWord2" 
2

vous pouvez réellement faire quelque chose comme ceci:

(render :text => "line1\nline2").gsub("\n",'<br />')

Il fonctionne au moins sur #render dans une vue (en utilisant HAML). Je n'ai pas essayé dans une action de contrôleur.

0

Rendez simplement le texte plain. Vous pouvez même changer le type de contenu en csv si vous le souhaitez.

render :plain => 'Word1\nWord2', :content_type => "text/csv"