Я читал подобные вопросы, но многие ответы устарели или недостаточно ясны для меня.
Я хотел бы просто сделать что-то вроде (в действии контроллера):
respond_to do |format|
format.html
format.csv
end
Я знаю, что мне понадобится такой вид, как action.csv.erb
Итак, мои вопросы:
1) Что мне нужно настроить в рельсах, чтобы это произошло в общем случае.
2) Как настроить CSV-представление для отображения некоторых базовых полей из модели?
UPDATE:
Итак, я попытался пойти по пути запятой, я установил и продал драгоценный камень.
Тогда, согласно прочитанному мной, я бросил это в свою модель (настроенный на мои нужды):
comma do
user_id 'User'
created_at 'Date'
name 'Name'
end
Затем я бросил это в элемент управления для действия индекса (согласно readme):
format.csv { render :csv => MyModel.limited(50) }
Затем при обращении к индексу (не в формате CSV) я получаю следующую ошибку исключения ActionController:
undefined метод `comma 'для
Итак, я googled, что, и я прочитал, что мне нужно поставить "запятую" в моей модели.
После этого я обновил (мою локальную индексную страницу), и ошибка изменилась на:
нет такого файла для загрузки - запятая
Итак, в этот момент я решил, что не обязательно находить файлы с запятой. Таким образом, я скопировал файлы из папки gemware commem из папки comma lib в папку rails lib. Затем я обновил страницу и приземлился на эту ошибку:
неинициализированная константа Ошибка
Тогда я в значительной степени сдался.
Ошибки из трассы были:
/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
Надеюсь, что достаточно информации:)