[英]NoMethodError: undefined method `generate' for Roo::CSV:Class
我嘗試制作預定的每日csv郵件。 我放入了Importer類:“ include Roo”,然后放入了2個函數:
def self.daily_mail
Company.find_each do |c|
export_to_csv(c)
end
end
def self.export_to_csv(company)
@opportunities = company.opportunities
csv_data = CSV.generate do |csv|
csv << ["Opportunity Id", "Created At", "Request Id", "Champion Id", "Referral_Id"]
@opportunities.all.each do |opportunity|
csv << [opportunity.id, opportunity.created_at, opportunity.request_id, opportunity.champion_id, opportunity.referral_id]
end
end
end
在調度程序類中,我編寫了代碼:
task :export => :environment do
puts "Exporting..."
Importer.daily_mail
puts "done."
end
但是,當我嘗試在終端中運行時:
rake export
我有:
rake aborted!
NoMethodError: undefined method `generate' for Roo::CSV:Class
有人可以幫助我嗎?
我不確定為什么這里需要Roo,但是僅對於導出csv文件而言,標准CSV庫就足夠了。 CSV.generate是標准庫中的一種方法,因此,要使用此方法,您必須在Importer文件中添加require'csv require 'csv'
。
您還需要刪除“ include Roo”以避免沖突。 但是,如果你仍然想的百畝工作,請更換CSV.generate
通過::CSV.generate
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.