如何从Rails的simple_format()输出中删除空格?

时间:2013-08-09 18:28:30

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2

我正在使用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中打印出一个文本字段,而不会在最后显示那些烦人的空白?

感谢您的帮助。

2 个答案:

答案 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。