Ali*_*Ali 5 haml ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)
将其输出到预标签中可以:
THIS IS ONE LINE
THIS IS ANOTHER LINE
THIS SHOULD NOT BE INDENTED
THIS SHOULD BE INDENTED BY TWO SPACES
Run Code Online (Sandbox Code Playgroud)
我在这里很丢失 - 这是我的基本textarea代码 - 没什么了(在听到它有助于删除不需要的空间后添加了波浪号 - 根本不起作用):
~f.input :details, :label=>false, :input_html=>{:class=>'span12 input-code', :rows=>40}
Run Code Online (Sandbox Code Playgroud)
另一个观察 - 如果我使用简单的形式渲染文本区域,则空格不会显示在textarea中 - 但是如果我在textarea中手动编码以输出内容,则显示空格.这可能与simpleForm gem有关吗?
我知道这是一个非常古老的帖子,但我来到这里寻找解决完全相同的问题,所以我想在共享我在其他链接上找到的解决方案,以防有人来到这里...
对我来说,这发生在我的Rails 5应用程序上,它使用simple_form和HAML.
额外空格的原因是HAML,为了避免它们,您需要在config/initializers/haml.rb中添加以下行:
Haml::Template.options[:remove_whitespace] = true
Run Code Online (Sandbox Code Playgroud)
这是我答案的来源(查看adavia的最后评论):https://github.com/haml/haml/issues/643
为了以防万一,这里是HAML允许的选项列表:http://haml.info/docs/yardoc/Haml/Options.html
编辑
此选项也有效:
Haml::Template.options[:ugly] = true
Run Code Online (Sandbox Code Playgroud)