我正在使用简单的形式和 View 的haml构建Rails应用程序上的ruby。但是,我注意到有关具有textareas的表单的问题。起初我没有注意到它,但是当我在textarea中保存一些文本并将其转储到pre标签中时,我注意到每个换行符后都带有许多难看的空白。我不确定这是怎么回事。因此,如果我在文本区域中输入以下内容:

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
我在这里很迷路-这是我的基本textarea代码-没什么(听说波浪线有助于去除多余的空格后添加了波浪号-根本不起作用):
~f.input :details, :label=>false, :input_html=>{:class=>'span12 input-code', :rows=>40}

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

最佳答案

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

对我来说,这发生在我的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

关于ruby-on-rails - 来自textarea的输入以简单的形式和haml在每行前添加了怪异的空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16691913/

10-15 23:25