[英]Rails: CSV.generate and renaming headers
我正在将一堆记录导出到CSV,如下所示:
def self.to_csv
attributes = %w(full_name first_name last_name created_at status)
CSV.generate(headers: true) do |csv|
csv << attributes
all.each do |lead|
csv << attributes.map { |attr| lead.send(attr) }
end
end
end
但我需要读取标题,如Full Name
而不是full_name
。 我需要一个哈希来匹配很好的名称,但是如何在 CSV.generate
新的头名称写入CSV文件?
更新查找哈希。
def lookup
{
full_name: 'Full Name', first_name: 'First Name', last_name: 'Last Name', created_at: 'Generation Date', status: 'Status'
}
end
在属性数组上调用titalize应该可以帮助您实现您的目标。
def self.to_csv
CSV.generate(headers: true) do |csv|
csv << lookup.values
all.each do |lead|
csv << lookup.keys.map { |attr| lead.send(attr) }
end
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.