Добавление новой строки не будет работать, так как HTML будет игнорировать любые пробелы / новые строки в строке наилучшего формата, насколько это возможно, непрерывно. Поэтому вы должны использовать <br/>
, чтобы добавить явный разрыв строки в HTML. Однако теперь в рельсах для безопасности любая строка будет html-escape-, если вы явно не указали рельсам , а не .
Итак, в вашем случае вы хотите создать список файлов, заявить, что он безопасен, а затем установить его как контент. Что-то вроде
- file_list = folder.doc.map{|file_id| File.find(file_id).name}.join('<br/>').html_safe
%i.fa.fa-folder.item{data: {content: file_list, html: "true", rel: "popover", title: "title:"}
Во-вторых, поскольку вы используете bootstrap для рендеринга всплывающего окна, вам также нужно будет указать загрузчику poptrap, что data-content
интерпретируется как html и не должен быть экранирован (путем установки атрибута data-html
).