Ruby gsub没有插入换行符

时间:2016-02-20 20:20:42

标签: ruby newline erb gsub

我有一堆字符串,我试图用换行符替换它们之间的空格,使用gsub:

<%= "string string string".gsub(" ","\n")  %>

但由于某种原因,它只是打印为:

string string string

我做错了什么?

注意:它在IRB终端中按预期打印。我只在浏览器中遇到此问题,使用ERB进行打印。

1 个答案:

答案 0 :(得分:1)

这对我来说很好用:

    puts "string string string".gsub(" ","\n")

也许你有类似的情况:

    x = "string string string"
    y = x.gsub(" ","\n")
    puts x

在第2行中,空格被替换,但x 未被修改。 结果y已替换空格。

要直接在x中替换值,您必须使用gsub!

根据您的修改:

\n未在HTML中解释,您需要<br>。 br-tag可能没有被屏蔽,所以最后你可以在ERB中尝试这样的东西:

    x.gsub(" ","<br/>\n").html_safe