删除HAML / Form Builder生成的textarea中的换行符

时间:2017-03-29 21:17:22

标签: html ruby-on-rails twitter-bootstrap haml

我有一个非常简单的Rails表单。:

= form_for @object :remote => true do |form|
   = form.text_area :text, :class => 'form-control'

对于具有nil文本属性的新对象,将生成:

<textarea class="form-control" name="object[text]" id="object_text"> </textarea>

其中的空格是换行符:

(byebug) form.text_area :text, :class => 'form-control'
"<textarea class=\"form-control\" name=\"user_deactivation[reason_text]\" id=\"user_deactivation_reason_text\">\n</textarea>"

我在保存时删除了前导空格和尾随空格,因此数据明智,这不是什么大问题,但当用户点击此字段时,它会显示为缩进。

enter image description here

相关软件版本:

  • Rails 5.02
  • HAML-4.0.7
  • 文本区域位于bootstrap 3对话框中

为什么要生成此换行符,如何阻止它?

2 个答案:

答案 0 :(得分:1)

您可以使用&#39;〜&#39;运算符,就像&#39; =&#39;运算符,但在输出上自动运行find_and_preserve。

像这样: = form_for @object :remote => true do |form| ~ form.text_area :text, :class => 'form-control'

答案 1 :(得分:0)

这不是一个理想的答案,但确实有效。我想要更好的东西:

 = find_and_preserve(form.text_area :text, :class => 'form-control')

这可以自动吗?有没有办法让text_area助手不插入换行符?