我很困惑这一个。我有几个可行的解决方案,但我不喜欢他们中的任何一个。现在的问题是,我正在尝试在Rails应用程序中生成CSV。特别是在我的应用程序中,我有很多值,大约是30.我希望显示的许多值也都在关联上,因此使行更长......他们看起来像这样(不要麻烦阅读,只是想让你有什么我谈论)的一个想法:红宝石风格提示:避免评估,并保持清晰有序
[piece.client.organization, piece.client.category, piece.client.name , piece.campaign.name, piece.name, piece_url(piece.id), piece.campaign.election_date, piece.campaign.win_loss, piece.final_date, piece.local_photos, piece.killed, piece.format_list, piece.artist_list, piece.partner_list, piece.account_executive_list, piece.out_of_stock, piece.total_intake, piece.campaign.candidate_tags, piece.client.spec_list, piece.campaign.mail_poll]
除了他们甚至更长的时间和更笨重。他们工作,但他们让我感到内心不好。这是当我有这个想法,我只想把它们放在一个二维数组,它立即作出的数据看起来更可读:
[["Client", piece.client.organization],
["Category", piece.client.category],
["Client Name", piece.client.name] ,
...
["Campaign Name", piece.campaign.name],
["Piece Name", piece.name]]
这是伟大的,现在就可以在它循环来创建我的CSV行...但是,它会根据我需要定义它的位置炸毁,因为我的“片”未定义。那么,我想......如果我只是在引用中包含第二个参数并在稍后需要它们时调用eval,那该怎么办?然后,我看着它,人们似乎在说使用eval只有救人......
谁能想到一个简单的方法来保持所有的列名配对我的数据,但也许不是使用eval?或者,也许建议这将是一个很好的eval用例?
我敢肯定'eval'从来没有救过一命,并可能危及一对夫妇。 :) – cHao 2013-03-05 21:00:21
@counterbeing我使用完全相同的风格来创建一个csv。您可以通过跳过每对内部内部支架来进一步整理它。然后,在大数组的末尾添加'] .in_groups_of(2)'。 – Anil 2013-08-08 00:45:16