ruby中的CSV-Export问题

时间:2009-09-02 06:59:52

标签: ruby csv

对于导出到CSV,我有总共2500条记录,并在导出时 需要很长时间才能导出所有记录,因此,我已决定导出 前50名学生的形式,以及第二十五名学生,等等。我试过了 以下代码。但它只能获得前50名学生。 请指导我如何解决问题

def exportcsv

  @student_count = Student.find(:all)

  @count1 = @student_count.count

  st_per_file = 50

  count = 0

  unless @count1==count

  students = Student.find(:all, :order => 'name', :limit =>
               st_per_file, :offset => (st_per_file*count))

  count = count + 1


 filename = 'students.csv'

  headers.merge!(

    'Content-Type' => 'text/csv',

    'Content-Disposition' => "attachment; filename=\"#{filename}\"",

    'Content-Transfer-Encoding' => 'binary'
  )
 --------------
 --------------
  end

end

3 个答案:

答案 0 :(得分:2)

昨天我们不只是answer this了吗?我现在并没有真正看到两者之间发生了什么变化,除了现在有更多的代码。

答案 1 :(得分:2)

2500条记录不是很多,这在我看来很有气味。听起来你应该理清为什么这么糟糕。

答案 2 :(得分:0)

你需要有一个循环才能做到这一点。如果且只运行一次,Ruby的'除非'关键字是否定的。尝试'while'或'until'。