【问题标题】:CSV-Export problem in ruby [duplicate]红宝石中的CSV导出问题[重复]
【发布时间】:2009-09-02 06:59:51
【问题描述】:

对于导出到 CSV,我总共有 2500 条记录,并且在导出时 导出所有记录需要很长时间,所以,我决定导出 第 50 名学生,第 2 名 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

【问题讨论】:

    标签: ruby csv


    【解决方案1】:

    我们昨天不是刚刚answerthis吗?除了现在有更多代码之外,我真的看不出两者之间有什么变化。

    【讨论】:

    • 感谢您指出这一点,theIV。投票以重复结束。
    【解决方案2】:

    2500 条记录不是很多,在我看来,这有异味。听起来您应该弄清楚为什么会如此糟糕。

    【讨论】:

      【解决方案3】:

      您需要有一个循环来执行此操作。 Ruby 的“除非”关键字是一个否定的 if 并且只运行一次。尝试“while”或“until”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-18
        • 2016-03-23
        • 2011-07-15
        • 2011-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多