Я читал подобные вопросы, но многие ответы устарели или недостаточно ясны для меня.Сгенерировать CSV-файл с рельсов
Я хотел бы иметь возможность просто сделать что-то подобное (в действии контроллера):
respond_to do |format|
format.html
format.csv
end
Я знаю, что я бы тогда нужен вид, такие как action.csv.erb
Итак, мои вопросы:
1) Что мне нужно для настройки в рельсах, чтобы это произошло в общем случае.
2) Как настроить представление CSV для отображения некоторых базовых полей из модели?
UPDATE:
Так я пытался идти по пути запятой, я установил и vendored камень.
Тогда согласно прочитанному меня, я бросил это в мою модель (настроить для моих потребностей):
comma do
user_id 'User'
created_at 'Date'
name 'Name'
end
Затем я бросил это в контроле за действия индекса (по риому):
format.csv { render :csv => MyModel.limited(50) }
Тогда при доступе к индексу (не в формате CSV) я получаю следующее сообщение об ошибке ActionController Исключение:
undefined method `comma' for
Итак, я искал это в Google, и я прочитал, что в своей модели я должен поставить «запятую».
После этого, я освежил (мой локальный индекс страницы), и ошибка изменен:
no such file to load -- comma
Так что на данный момент я решил, что не должен находить файлы запятая, очевидно. Поэтому я скопировал файлы из папки с запятыми из каталога commam, из папки lib в папке, в папку rails lib. Затем я обновил страницу и приземлился на эту ошибку:
uninitialized constant Error
Тогда я в значительной степени сдался.
The errors from the trace were:
/Users/elliot/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in
load_missing_constant' /Users/elliot/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:in
const_missing' /Users/elliot/.gem/ruby/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:92:in `const_missing'
Другие примечания, я уже установил FasterCSV
Надежда то будет достаточно информации :)
Я пробовал это без успеха. – Elliot
Что не сработало для вас? Если вы получаете сообщение об ошибке, можете ли вы обновить исходное сообщение с этой ошибкой? – theIV
Обновлено с ошибкой – Elliot