форматирование из текстовой области в приложении rails

У меня есть приложение rails, в котором есть поле ввода текста, чтобы пользователи могли добавить описание своей работы. Мне нужно, чтобы он поддерживал абзацы, но он просто доставляет все в одну строку...

Например: так пользователь вводит текст в текстовой области...

Это мой потрясающий фильм, над которым я работаю уже 12 лет. Это был труд любви.

Вот как это заканчивается, когда пользователь отправляет форму...

Это мой потрясающий фильм, над которым я работаю уже 12 лет. Это был труд любви.

Я думаю, что это соответствующая часть кода -

.field .name= f.label :description .value= f.text_area :description, :rows => 5,

Код находится в файле .haml.

Любая помощь будет принята с благодарностью. Ваше здоровье


person Dan Solo    schedule 17.04.2012    source источник


Ответы (3)


Попробуйте simple_format:

my_text = "Here is some basic text...\n...with a line break."

simple_format(my_text)
person Vik    schedule 17.04.2012

При отображении вы можете использовать уценку Redcarpet.

def markdown(content)

  markdown =Redcarpet::Markdown.new(Redcarpet::Render::XHTML,:hard_wrap=>true,:filter_html=>true,:autolink=>true,:no_intra_emphasis=>true)
  markdown.render(content).html_safe

end

и в пользовательском интерфейсе

уценка(@movie.description)

person Amar    schedule 17.04.2012

Разрывы строк все еще существуют, просто они не преобразуются в разрывы строк HTML. Чтобы убедиться в этом, просмотрите исходный код страницы с ее содержимым. Там вы увидите разрывы строк.

Эти разрывы строк должны быть преобразованы в разрывы строк html, т.е. <br>.

Чтобы исправить это, в шаблоне представления измените ссылку на содержимое с text на text.gsub("\n","<br>\n").

person Michael Slade    schedule 17.04.2012