我是ruby on rails的新手,我在将数据导出到csv时遇到了麻烦。我已经关注了以下视频:
https://medium.com/coderaga/rails-import-export-csv-data-without-gem-fbf2a36a84f6
我在application.rb文件中也放了 require'csv'。
我的student.rb模型有:
def self.to_csv(fields = column_names, options = {})
CSV.generate(options) do |csv|
csv << fields
all.each do |student|
csv << student.attributes.values_at(*fields)
end
end
end
我的students_controller有以下内容:
def index
@students=Student.all
puts @students
respond_to do |format|
format.html
format.csv{send_data @students.to_csv(['UIN', 'Name' ,'Section', 'Attempts', 'Score'])}
end
end
我认为all.each语句是空的,就像我在做puts student.attributes.values_at(*fields)
时一样,没有任何东西可以解释为什么没有写任何东西。但我不知道如何解决它。
Student Load (0.3ms) SELECT "students".* FROM "students"
#<Student:0x007f9a2386ddb8>
#<Student:0x007f9a2386dc78>
#<Student:0x007f9a2386db38>
CACHE Student Load (0.0ms) SELECT "students".* FROM "students"
请帮忙
答案 0 :(得分:0)
尝试
where.each do |student|
puts student #Debug
csv << student.attributes.values_at(*fields)
end