2015-02-09 59 views
4

我用下面的代碼的文件index.csv.erb:導軌csv.erb視圖包括空白

<% headers = ['PrL', 'PrG', 'UOM', 'Quantity', 'Eff.Date', 'End Date','Price','Disc', 'P', 'Gr/Net'] %> 
<%= CSV.generate_line(headers).strip.html_safe %> 
<% @pricelist_price_groups.each do |pricelist_price_group| %> 
    <% start_at = pricelist_price_group.start_at.strftime("%d/%m/%y") unless pricelist_price_group.start_at.blank? %> 
    <% end_at = pricelist_price_group.end_at.strftime("%d/%m/%y") unless pricelist_price_group.end_at.blank? %> 
<%= CSV.generate_line([pricelist_price_group.pricelist_id, 
         pricelist_price_group.price_group_id, 
         pricelist_price_group.sale_uom_id, 
         start_at, 
         end_at, 
         pricelist_price_group.price, 
         pricelist_price_group.disc_dollar, 
         pricelist_price_group.disc_percent, 
         pricelist_price_group.price_flag, 
         pricelist_price_group.gross_or_net]).strip.html_safe %> 
<% end %> 

我添加諸如

<% headers = ['PrL', 'PrG', 'UOM', 'Quantity', 'Eff.Date', 'End Date','Price','Disc', 'P', 'Gr/Net'] %> 

<%= CSV.generate_line(headers).strip.html_safe %> 

然後該空白被寫入任何空白到CSV文件。其他情況包括在之前有兩個空格作爲製表符<%= CSV.generate_line

它必須是因爲那是rails正在渲染的視圖。如果有辦法,我仍然可以保留使用空格來保持代碼清潔?

回答

1

我有同樣的問題,並修復它使用answeranother堆棧溢出問題。

即使用strip標題行:

<%= CSV.generate_line(headers).strip%> 

而且.html_safe.strip的內容:

<%= CSV.generate_line(row).html_safe.strip%> 
1

我發現後link是做工精良。

<%- export = CSV.generate(" ", { headers: ["Array", "Of", "Headers"], write_headers: true, encoding: "UTF-8"}) do |csv| -%> 
<%- csv.add_row data -%> 
<%- end -%> 
<%= export.lstrip.html_safe -%>