2017-03-29 251 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幫手不插入換行符?