2017-03-29 210 views
1

我有一个很简单的Rails形成:删除换行符

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

对于一个新的对象,具有零文本属性,这产生:

<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
  • 文本区是在引导3对话框

为什么这个换行符正在生成,我该如何阻止它?

+0

如果你明确地将该值设置为'nil'或空字符串? – Iceman

+1

值为零。空字符串具有相同的行为。 –

+0

我看到了,我尝试了很渺茫,猜测它们在任何情况下都不一样。 – Iceman

回答

1

您可以使用'〜'运算符,它与'='运算符类似,但会自动在输出上运行find_and_preserve。

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

+0

这里是文档参考:http://haml.info/docs/yardoc/file.FAQ.html#q-preserve我读过,我刚看到'〜'为'-' –

0

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

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

这是自动的吗?有没有办法让text_area帮手不插入换行符?