2013-07-16 42 views
0

我想知道是否有人找到了在ActiveAdmin中生成許多空列的有效方法? (空列形成導入CSV的系統要求的一部分)。在ActiveAdmin的CSV導出中高效地生成許多空列

爲了參考,請參閱: http://www.activeadmin.info/docs/4-csv-format.html

column("") do |cb| 

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

    empty_columns.to_s 

end 

生成

「,,,,,,,,」

column("") do |column| 
end 

生成

即具有引號空柱。

所以我可以用這種方法做一個空列,但是有超過30個空列,所以用大量的單列輸出這個效率並不高。

我也試過在CSV塊中設置force_quotes爲false。 csv:options => {:force_quotes => false}做

任何幫助將使此代碼在未來更易於維護。

乾杯, 伊恩。

回答

1

我沒有測試過,但根據你所提供的文件上,我認爲你需要調用column一次爲每個列,如這樣的:

ActiveAdmin.register後做 CSV做 ( 1..30).each {| i |列「列#{i}」{「」}} 結束 結束

當然,如果列名不必是唯一的,這可以進一步簡化。

+0

嗨,Peter, 感謝您的評論。 我最終在數據導出列中插入了像這樣的塊。 50 times do column(「」)do | empty | \t結束 結束 覺得可能有空列的ActiveAdmin方法,所以我將它添加到他們的問題列表中。 – oceanician

+0

一個不那麼冗長但等同的調用方式: 10.times {column(''){}} – oceanician

相關問題