#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, это драгоценный камень, который зависит от них.