2013-07-16 3 views
0

Я задался вопросом, нашел ли кто-нибудь эффективный способ генерации множества пустых столбцов в ActiveAdmin? (Пустые столбцы составляют часть требования к системе, импортирующей CSV).Эффективное создание нескольких пустых столбцов при экспорте CSV ActiveAdmin

Для справки смотрите: http://www.activeadmin.info/docs/4-csv-format.html

column("") do |cb| 

    empty_columns=',,,,,,,,,,,' 

    empty_columns.to_s 

end 

генерирует

",,,,,,,,"

column("") do |column| 
end 

генерирует

,

т.е. пустой столбец с кавычками.

Таким образом, я могу сделать одну пустую колонку таким образом, но есть более 30 пустых столбцов, поэтому неэффективно выводить это с большим количеством отдельных столбцов.

Я также попытался установить force_quotes в false в CSV-блоке. csv: options => {: force_quotes => false} do

Любая помощь, очень ценная для того, чтобы сделать этот код более пригодным для обслуживания в будущем.

Cheers, Ian.

ответ

1

Я не проверял, но на основе документации, предоставленной вами, я думаю, вам нужно вызвать column один раз для каждого столбца, а в чем-то вроде:

ActiveAdmin.register Post делать CSV делать (1..30) .each {| i | столбец «Столбец № {i}» {«"}} конец конец

Конечно, если имена столбцов не обязательно должны быть уникальными, это может быть упрощено далее.

+0

Hi Peter, Спасибо за ваш комментарий. В итоге я столкнулся с такими блоками, как чередующиеся в столбцах экспорта данных. 50.times do column ("") do | empty | \t end end Похоже, что для пустого столбца может быть метод ActiveAdmin, поэтому я добавил его в список проблем. – oceanician

+0

Менее подробный, но эквивалентный способ его вызова: 10.times {column ('') {}} – oceanician

Смежные вопросы