我有用于管理员日志的CSV生成器。我进行测试时遇到错误
1)CsvAdminLogData :: CsvAdminLogGenerator创建具有适当值的CSV文件 失败/错误:csv << admin_log.created_at
NoMethodError: undefined method`collect'for Mon,17 Jun 2019 14:16:10 CEST +02:00:Time
def call
CSV.open(target_file, 'w', headers: LOG_HEADERS, encoding: 'UTF-8') do |csv|
AdminPanelLog.dates_between(start_date, end_date).find_each do |admin_log|
csv << admin_log.created_at
csv << admin_log.action_type
csv << admin_log.admin_email
csv << admin_log.old_data
csv << admin_log.new_data
end
end
end
我尝试使用类似admin_log.created_at.to_s
的方法,但是没有任何结果。在这种情况下,我不能使用<<
将此数据添加到CSV文件吗?
编辑:
如果我评论# csv << admin_log.action_type
,我将在另一行得到相同的错误
失败/错误:csv << admin_log.action_type NoMethodError: 未定义的“收集”方法,用于“新建”:字符串
答案 0 :(得分:3)
您应向Array
数组添加csv
,如下所示:
csv << [admin_log.created_at, admin_log.action_type, admin_log.admin_email, admin_log.old_data, admin_log.new_data]