0
我正在努力創建一個簡單的rake任務,它將生成數據庫表「基線」的csv轉儲。Rails:在rake任務中創建csv文件 - 無法訪問類數據庫column_names
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將在控制檯中工作,在視圖等等等等
任何思想將不勝感激。
謝謝! - 這似乎工作(它不會引發錯誤)。我現在遇到的問題是該文件沒有出現在公用文件夾的tmp目錄中。 – GhostRider
爲什麼呢?你要求'tmp /'相對於當前目錄,這可能是Rails的根目錄。如果你想在那裏:'path = Rails.root.join('public/tmp')'。 – tadman
非常感謝。標記爲正確,因爲您的意見一起解決了我的問題 – GhostRider