0

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 は空です。どうしてか分かりません ?または問題を解決する方法。

4

0 に答える 0