我正在使用Rails'simple_format()
从我的数据库输出地址,如下所示:
<%= simple_format(@person.address) %>
结果我在Safari浏览器中得到了这个标记:
<p>
"John Doe "<br>
"123 Main Street "<br>
"Eggham "<br>
"United Kingdom"<br>
</p>
只要文本左对齐,这样就可以了。
但是,当我希望文本右对齐时,右边缘不是直的。如果你仔细看看HTML,你会明白为什么。除了最后一行之外,所有行都有空白。
我不明白这些空白的来源,因为我总是在输入每行的最后一个字母后立即按return
。我从未输入任何这些空白,但它们出现在simple_format()
给我的每个地址中。
是否有另一种或更好的方法可以在Rails中打印出一个文本字段,而不会在最后显示那些烦人的空白?
感谢您的帮助。
答案 0 :(得分:3)
好的,我最终使用了这个辅助方法:
def print_multiline(field)
field.gsub("\r\n","<br/>").html_safe
end
对我而言,这比simple_format()
好得多,因为它不会在行尾创建空格。
我在我的观点中使用它:
<%= print_multiline(@person.address) %>
答案 1 :(得分:0)
input_string.gsub(“\ r \ n”,“\ n”)将用Unix风格的LF字符替换Microsoft风格的CR / LF。