Я пытаюсь экспортировать таблицу CSV на основе параметров в URL в Rails 4.
Параметры URL выглядят так: "classes? Date = 2018-08-01" и в зависимости от даты URL представленияизменяет отображаемую таблицу с данными за указанный месяц.Я хочу экспортировать эти данные.Однако кнопка «Экспорт» всегда загружает только данные за текущий месяц.Что я делаю не так?
Я добавил упрощенный код, а не точную копию.Поэтому, если вам нужно увидеть что-то еще из кода, напишите комментарий.
Контроллер:
def index
@date = if params[:date].present?
Time.zone.parse(params[:date])
else
Time.zone.now
@classes = Class.includes(:teacher).on_month(@date.to_date)
respond_to do |format|
format.html
format.csv { send_data @classes.to_csv }
end
end
Вид:
= link_to 'Export', classes_path(@classes, format: :csv)
Модель:
def self.to_csv
column_names = %w{ Teacher Class }
CSV.generate(headers: true) do |csv|
csv << column_names
all.each do |class|
csv << [class.teacher.name, class.class_name]
end
end
end