簡體   English   中英

Rails:CSV.generate和重命名標頭

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM