Экспорт в CSV в Ruby 1.9.2

#ruby-on-rails #ruby #csv #export

#ruby-on-rails #ruby #csv #экспорт

Вопрос:

Существующее приложение, использующее запятую для экспорта CSV, было обновлено до Ruby 1.9.2, и теперь ничего не экспортируется. По сути, сервер просто сидит и вращается. Я знаю, что для запятой существует зависимость FasterCSV, но FasterCSV больше не поддерживается в 1.9.2, поскольку CSV находится в ядре.

Согласно документации, comma должен работать даже без FasterCSV, но у меня нет такого опыта. Я не могу получить что-либо для экспорта, используя этот код:

КОНТРОЛЛЕР:

 format.csv do
    @sis_action_rendered = true
    render :csv => current_user.authorized_clinical_stuff
  end
  

Модель:

 comma do # implicitly named :default
user :salutation
name
email
user :login
user :ethnicity
user :gender
user :is_verified => 'APTA Trained'
work_phone
alternate_phone
site_names
site_address
degree
pt_degree
ci_credentialed?
ci_advanced_credentialed?
board_certs
updated_at
end
  

Имейте в виду, что код модели извлекает информацию из нескольких связанных объектов для создания одного CSV.

Комментарии:

1. Что происходит, когда вы пытаетесь сгенерировать CSV в консоли?

2. Было бы сложно сгенерировать CSV с приведенной выше информацией. Я могу сгенерировать CSV-файлы в некоторых примерах, но это просто создание CSV из небольшого хэша. Это сложнее.

Ответ №1:

FasterCSV — ЭТО CSV в версии 1.9.2.

Из документов:

Эта версия библиотеки CSV начала свою жизнь как FasterCSV. FasterCSV был задуман как замена стандартной библиотеки CSV в Ruby того времени.

[…]

Должно быть, мы достигли наших целей, потому что FasterCSV был переименован в CSV и заменил исходную библиотеку.

Комментарии:

1. Хотя это правда, comma по-прежнему не работает, так что проблема не в FasterCSV или CSV, это драгоценный камень, который зависит от них.