我对此感到困惑。我有几个可行的解决方案,但我不喜欢其中任何一个。手头的问题是我试图在 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 的一个很好的用例?