2009-09-02 6 views
0

для экспорта в CSV, у меня есть в общей сложности 2500 записей, а при экспорте занимает много времени, чтобы экспортировать все записи, поэтому я решил экспортировать в форму 1-го 50 студентов и , 2-й 50 студентов и так далее. Я пробовал нижеприведенный код. но он смог получить только 1-50 студентов. пожалуйста, руководство меня, как решить проблемуПроблема CSV-экспорта в рубине

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 

ответ

0

Вы должны иметь цикл, чтобы сделать это. Рубиновое слово «если» не является отрицательным, если и работает только один раз. Попробуйте «пока» или «до».

2

Разве мы не answerthis вчера? Я действительно не вижу, что изменилось между двумя другими, чем сейчас есть больше кода.

+0

Спасибо, что указали это, theIV. Голосование закрывается как дубликат. –

2

2500 записей не очень много, это пахнет, на мой взгляд. Похоже, вы должны разобраться, почему это так плохо.

Смежные вопросы