Rails:为什么simple_format会添加一个领先的换行符?

时间:2016-08-29 19:16:21

标签: html ruby-on-rails

我正在创建一个应用程序,其中包含用户将数据输入文本区域的表单。我想显示这些条目,而simple_format非常棒,因为它将用户的行尾转换为HTML的break语句 - 但它正在为前面添加一个恶心的换行符!这导致'entry'的内容比它应该低一行(在它上面有一个空白的'换行符'),并且它在我的网页上的所有地方都没有格式化。

def display_entry(entry)
  if entry.blank?
    'n/a'
  else
    simple_format(entry)
end

我试过了:

def display_entry(entry)
  if entry.blank?
    'n/a'
  else
    entry.slice!(0) # delete disgusting newline
    simple_format(entry)
end

但无济于事 - 这只是切掉了我内容的第一个字,而令人作呕的新线坚持了下来。这让我觉得simple_format是任意为不以换行符开头的文本添加换行符。为什么??我怎么杀了它?

编辑:来自视图的代码:

<h2 align="center"> User </h2>
<div id="left_half">
  <div class="ibox">
    <h3 align="center"> User Info</h3>

    <div class="left">
      <%= f.label :name, 'name' %>
    </div>
    <div class ="right">
      <%= f.text_field :name, class: 'small-text-area' %>
    </div>

    ...
    ...

当我显示名称时,它具有前导换行符。

<input class="toggle-box" id="id1" type="checkbox">
<label for="id1">User</label>
<div>
  <div class="ibox_show">
    <div class="left_show">
      <%= 'name' %>
    </div>
    <div class ="right_show">
      <%= display_entry(@user.name) %>
    </div>
    ...
    ...

1 个答案:

答案 0 :(得分:0)

你确定它没有包装进入 <p> 你需要设计风格的标签吗?