2009-02-24 2 views
3

Я хотел бы, чтобы сделать многострочный текст в Rails, действие выглядит следующим образом:Render многострочный текст с Rails?

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

, и я бы ожидать, что ответ будет:

Word1 
Word2 

несчастливо я получаю Слово1 \ nWord2

Любая помощь была бы оценена

(Действие должно отображать многострочный отклик, чтобы получить рабочий автозаполняющий плагин jquery)

ответ

14
"Word1\nWord2" 

Вы должны использовать двойные кавычки, чтобы использовать экранированные символы.

Но если вы хотите, чтобы на самом деле это был разрыв строки в браузере, вам нужно сделать его фактическим тегом html.

'Word1<br/>Word2' 

Или даже:

"Word1<br/>\nWord2" 
2

вы можете сделать что-то вроде этого:

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

Это, по крайней мере работает на #render в представлении (с использованием Haml). Я не пробовал его в рамках действия контроллера.

0

Просто визуализируйте текст как plain. Вы даже можете изменить тип контента на csv, если хотите.

render :plain => 'Word1\nWord2', :content_type => "text/csv" 
Смежные вопросы