rails csv.erb 视图包含空格
rails csv.erb view includes whitespace
我有一个包含以下代码的 index.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 正在渲染的视图。如果有办法我仍然可以保留使用空格来保持代码干净?
我遇到了同样的问题,并使用这个 answer in another Stack Overflow 问题修复了它。
即使用 strip
作为 header 行:
<%= CSV.generate_line(headers).strip%>
和.html_safe.strip
内容:
<%= CSV.generate_line(row).html_safe.strip%>
我发现 post 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 -%>
我有一个包含以下代码的 index.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 正在渲染的视图。如果有办法我仍然可以保留使用空格来保持代码干净?
我遇到了同样的问题,并使用这个 answer in another Stack Overflow 问题修复了它。
即使用 strip
作为 header 行:
<%= CSV.generate_line(headers).strip%>
和.html_safe.strip
内容:
<%= CSV.generate_line(row).html_safe.strip%>
我发现 post 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 -%>