2014-05-15 39 views
0

假设在你的控制器,你有这样的事情:rails:如何将多行输出转换为html?

@out = `git log --name-status -n1 ${@hash}` 

(它返回一个多线输出到终端)

你想显示它在像这样一个观点:

<%= content_tag(:div, @out.html_safe, class: "well") %> 

如何获得保留空白的输出?

回答

0

要么使用旧的<pre>标记,要么在您的CSS中将white-space: pre; or white-space: pre-wrap;应用于周围的元素。我个人认为<pre>是可取的,因为它是语义。

P.S.在这种情况下,我会避免使用html_safe,因为shell命令的非转义输出可能会轻易破坏您的标记。