5

我正在使用简单的表单和 haml 为视图构建一个 ruby​​ on rails 应用程序。但是,我注意到有关具有文本区域的表单的问题。起初我没有注意到它,但是当我在 textarea 中保存一些文本并将其转储到 pre 标记中时,我注意到每个换行符后面都有一些难看的空格。我不确定这里发生了什么。因此,如果我在 textarea 中输入以下内容:

THIS IS ONE LINE
THIS IS ANOTHER LINE
THIS SHOULD NOT BE INDENTED
  THIS SHOULD BE INDENTED BY TWO SPACES

将其输出到 pre 标签中给出:

  THIS IS ONE LINE
  THIS IS ANOTHER LINE
  THIS SHOULD NOT BE INDENTED
    THIS SHOULD BE INDENTED BY TWO SPACES

我在这里很迷茫 - 这是我的基本文本区域代码 - 没什么(在听到它有助于删除不需要的空格后添加波浪号 - 根本不起作用):

~f.input :details, :label=>false, :input_html=>{:class=>'span12 input-code', :rows=>40}

另一个观察结果-如果我使用简单的形式呈现文本区域,则空格不会显示在文本区域中-但是,如果我在文本区域中手动编码以输出内容,则会显示空格。这与 simpleForm gem 有什么关系吗?

4

1 回答 1

6

我知道这是一个非常古老的帖子,但我来这里是为了寻找完全相同问题的解决方案,所以我想分享我在另一个链接上找到的解决方案,以防有人也来这里......

对我来说,这发生在我使用 simple_form 和 HAML 的 Rails 5 应用程序上。

额外空格的原因是 HAML,为了避免它们,您需要在 config/initializers/haml.rb 中添加以下行:

Haml::Template.options[:remove_whitespace] = true

这是我的答案的来源(查看 adavia 的最后一条评论):https ://github.com/haml/haml/issues/643

以防万一,这里是 HAML 允许的选项列表:http: //haml.info/docs/yardoc/Haml/Options.html

编辑

此选项也适用:

Haml::Template.options[:ugly] = true
于 2016-08-23T21:42:59.333 回答