我在Rails中导出到CSV一切似乎都没问题没有错误并且正在生成文件,但只导出列标题而没有其他数据。
以下是一些代码:
控制器中的:
@students = Student.where("START_DATE >= ? and END_DATE <= ? and COURSE_NAME like ?", params[:start_date], params[:end_date], params[:course_name]).select('name, course')
(...)
format.csv { send_data @students .to_csv }
模特中的:
def self.to_csv(options = {})
CSV.generate(options) do |csv|
csv << column_names
all.each do |valeo|
csv << valeo.attributes.values_at(*column_names)
end
end
end
我发现问题的原因是当我点击链接时
= link_to "Export Records", student_path(:format => :csv)
@students是空的。我不知道为什么?或者如何解决这个问题。