我目前正在开发一个大型测量应用程序,该应用程序目前正在 Heroku(Cedar、4 个网络测功机、Crane PostgreSQL 数据库)上生产。由于时间限制,我有一个调查模型,通过 attr_accessible 公开问题。我希望导出天数结果,通常是 5000 多行数据,大约 45 列。
当我导出当天的调查(Survey.where("created_at >= ?", Time.now.beginning_of_day)
)时,使用this和this的组合,它会提示下载,下载,但是当我打开它时,我只有大约 2/3 的数据。有时它会在一行中途中断。
似乎我遇到了某种内存问题,或者将所有内容正确发送到 Excel/CSV 的问题。我确信这是因为数据大小,但我无法控制,我只是想找出问题所在。关于如何尝试解决此问题的任何想法?这是相当虚弱的。
这是处理 CSV/Excel 写入的调查模型中的代码:
def self.to_csv(options = {})
CSV.generate do |csv|
csv << column_names
all.find_each do |survey|
csv << survey.attributes.values_at(*column_names)
end
end
end
目前在控制器上,我将所有内容格式化为 index.xls.erb。
感谢您的任何帮助,您可以提供。