Rails: 在 rake 任务中创建 csv 文件 - 无法访问 类 数据库 column_names
Rails: Creating a csv file in a rake task - can't access a classes database column_names
我正在努力创建一个简单的 rake 任务,它将生成数据库的 csv 转储 table "baselines"。
task :send_report => :environment do
path = "tmp/"
filename = 'data_' + Date.today.to_s + '.csv'
Baseline.all.each do
CSV.open(path + filename, "wb") do |csv|
csv << Baseline.column_names
Baseline.all.each do |p|
csv << p.attributes.values_at(*column_names)
end
end
end
end
我遇到了错误
undefined local variable or method `column_names' for main:Object
我完全不清楚这是为什么......Baseline.column_names 将在控制台、视图等中工作。
如有任何想法,我们将不胜感激。
您在第一种情况下指定了 Baseline.column_names
,但在您的 values_at
调用中只指定了 column_names
。默认为不存在此类方法的 main
上下文。必须针对模型调用它。
使这两个一致,Baseline
在这两种情况下都是必需的。
我正在努力创建一个简单的 rake 任务,它将生成数据库的 csv 转储 table "baselines"。
task :send_report => :environment do
path = "tmp/"
filename = 'data_' + Date.today.to_s + '.csv'
Baseline.all.each do
CSV.open(path + filename, "wb") do |csv|
csv << Baseline.column_names
Baseline.all.each do |p|
csv << p.attributes.values_at(*column_names)
end
end
end
end
我遇到了错误
undefined local variable or method `column_names' for main:Object
我完全不清楚这是为什么......Baseline.column_names 将在控制台、视图等中工作。
如有任何想法,我们将不胜感激。
您在第一种情况下指定了 Baseline.column_names
,但在您的 values_at
调用中只指定了 column_names
。默认为不存在此类方法的 main
上下文。必须针对模型调用它。
使这两个一致,Baseline
在这两种情况下都是必需的。