我正在尝试在rails中的文本对象中添加换行符。
使用rails 5.0和postgres 9.4
some_text = "string sentence one"
some_text += #how do i add line break here
some_text = "string sentence two"
我试过chr(10),'\ n',\ n,'/ \ n /'和/ \ n /
如何向some_text
添加换行符?
TL;博士
下面是一个循环,我在控制器中使用循环遍历对象的属性并尝试向其添加换行符
@some_text ||= ""
object.attributes.each do |attr_name, attr_value|
@some_text << attr_value.to_s + "\n"
end
当我在视图中显示@some_text对象时,它没有换行符。如果我将@some_text对象保存到postgres中,它仍然没有换行符。
答案 0 :(得分:1)
它是"\n"
(带双引号):
some_text = "string sentence one"
some_text << "\n"
some_text << "string sentence two"
如果要在irb或der Rails控制台中输出多行字符串,请使用puts
。而p
不起作用,因为它显示控制字符。
值得注意的是,HTML中的换行符通常不会显示在呈现的文档中。要将字符串(\n
)中的换行符转换为可见的HTML换行符(<br>
),可以选择以下几种方法:
string_with_linebreaks.gsub("\n", '<br>')
),simple_format
文本助手或降价解析器<pre>
块中,通常(除非更改默认的css)将保留空格和换行符或white-space: pre-line
之类的css规则。