来自textarea的输入以简单的形式和haml在每行之前有奇怪的空格

时间:2013-05-22 12:33:47

标签: ruby-on-rails haml simple-form

大家好我正在使用简单的形式和haml为视图构建一个ruby on rails应用程序。但是我注意到有关textareas的表单的问题。起初我没有注意到它但是当我在textarea中保存一些文本并将其转储到预标签中时我注意到每个换行后面跟着一些丑陋的白色空格。我不知道这里发生了什么。所以如果我在textarea中输入类似下面的内容:

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

将其输出到预标签中会给出:

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

我在这里很丢失 - 这是我的基本textarea代码 - 没什么了(在听到它有助于删除不需要的空间后添加了波浪号 - 根本不起作用):

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

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

1 个答案:

答案 0 :(得分:6)

我知道这是一篇非常古老的帖子,但我来到这里正在寻找解决同一问题的方法,所以我想分享我在其他链接上找到的解决方案,以防有人来这里...

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

额外空格的原因是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