Как создать файл CSV из данных Mongoid в Rails - PullRequest
0 голосов
/ 01 марта 2020

У меня есть Ruby приложение на Rails, работающее с Mongodb. У меня есть модель с именем Label, и я добавил к ней некоторые данные.

Я пытаюсь сгенерировать файл CSV из метода index в контроллере Labels.

Я добавил следующий код в методе index:

respond_to do |format|
format.html
format.csv { send_data @labels.to_csv, filename: "labels-#{Date.today}.csv" }
end

Я добавил метод to_csv в контроллере:

def self.to_csv(options={})
    attributes = %w{name manufacturing_date digital_signature1}

    @all_labels=Label.all
      csv << attributes
      @all_labels.each do |label|
        csv << attributes.map{ |attr| label.send(attr) }
      end
    end
  end

Но когда я на самом деле генерировать файл CSV, он дает мне файл, где нет данных. Я получаю шесть имен столбцов, например:

#<Label:0x00007f637ac2e130>, #<Label:0x00007f637ac2e090>, #<Label:0x00007f637ac2dfc8>, #<Label:0x00007f637ac2db18>, #<Label:0x00007f637ac2d9d8>, #<Label:0x00007f637ac2d668> 

Что я делаю не так?

1 Ответ

0 голосов
/ 02 марта 2020

Если вы следуете https://www.codementor.io/@victor_hazbun / export-records-to-csv-files- ruby -on-rails-vda8323q0 метод to_csv должен быть добавлен в модель, а не в контроллер .

...