Рендеринг многострочного текста с помощью Rails? - PullRequest
3 голосов
/ 24 февраля 2009

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

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

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

Word1
Word2

к сожалению, я получаю Word1 \ nWord2

Любая помощь будет оценена

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

Ответы [ 3 ]

14 голосов
/ 24 февраля 2009
"Word1\nWord2"

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

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

'Word1<br/>Word2'

Или даже:

"Word1<br/>\nWord2"
2 голосов
/ 15 июля 2010

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

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

Это как минимум работает на #render в представлении (используя HAML). Я не пробовал это в действии контроллера.

0 голосов
/ 16 мая 2016

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

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