gpt4 book ai didi

ruby-on-rails - NoMethodError:Roo::CSV:Class 的未定义方法 `generate'

转载 作者:数据小太阳 更新时间:2023-10-29 08:44:27 24 4
gpt4 key购买 nike

我试着制作一个预定的每日 csv 邮件。我放入我的 Importer 类中:“包括 Roo”然后我放了两个函数:

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 library足够的。 CSV.generate是标准库中的方法,因此要使用它,您必须将 require 'csv' 添加到 Importer 文件。

您还需要删除“include Roo”以避免冲突。但如果您仍想使用 Roo,请将 CSV.generate 替换为 ::CSV.generate

关于ruby-on-rails - NoMethodError:Roo::CSV:Class 的未定义方法 `generate',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34531864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com