我如何忽略使用ruby的csv文件中的换行符,但保留一个漂亮的源文件?

时间:2012-04-18 16:29:34

标签: ruby csv erb

我有一个csv文件,我想输出大约30列,并希望这些列出现在我的.csv.erb不同的行上,例如:

<%= quantity.line_number  %>,
<%= quantity.created_at.strftime("%Y-%m-%d %H:%M:%S") %>,
<%= quantity.partner_entity_no %>,
<%= quantity.partner_name %>,

然而,当我执行此操作时,我的.csv文件在每个'之后都有换行符,'我想1)将每一列保持在源中的单独行上,并且2)在输出.csv文件中有非换行符。我怎么能做到这一点?

2 个答案:

答案 0 :(得分:2)

<%= [quantity.line_number,
     quantity.created_at.strftime("%Y-%m-%d %H:%M:%S"),
     quantity.partner_entity_no,
     quantity.partner_name].join(',') %>

答案 1 :(得分:2)

使用stdlib CSV class获取csv引用和转义语义。或者更方便的是,使用其Array#to_csv辅助方法。

<% require 'csv' %>
...
<%= [ 
      quantity.line_number,
      quantity.created_at.strftime("%Y-%m-%d %H:%M:%S"),
      quantity.partner_entity_no,
      quantity.partner_name,
    ].to_csv %>