Ответ 1
Причина в том, что в простом HTML за пределами содержащихся тегов, таких как "xmp", разрывы строк не отображаются как разрывы строк, по большей части они игнорируются. Чтобы они отображались, вам нужно заменить их тегами "br" или чем-то другим, у которого есть связанный с ним стиль или структура, такие как p-теги или даже div файлы, в зависимости от содержимого.
Это должно делать то, что вы просите:
@person.description.gsub(/\n/, '<br />')
Встроенный помощник Rails simple_format также будет работать, используя p-теги
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format