2015-10-10 34 views
0

以下代碼打印出數據庫中記錄的每個單獨的行文本列,並將其打印在HAML中。.each_line將變量的內容打印兩次

= @record.description.each_line do |line| 
     - i += 1 
     .line 
      %span= i 
      %li= line 

無論出於何種原因,它打印每一個人行其行號旁邊像你所期望的,但隨後也打印它作爲一個連續字符串的股利之外。

回答

2

看起來您正在使用HAML。該=操作輸出內容的模板,這也就是爲什麼每一行出現一個<li>內:

%li= line 

使用equals操作員each_line會造成each_line返回值來輸出到模板。這就是爲什麼你將整個內容看作一條連續的線。

改變這一行

= @record.description.each_line do |line| 

- @record.description.each_line do |line| 

,你應該得到你想要的結果。