【发布时间】:2016-06-12 23:56:09
【问题描述】:
目前,我正在使用 Rails 并且能够导出,但是 DB 中有数值格式的值,我需要将它们翻译成字母数字格式。我有翻译,但在导出到 CSV 时我不知道该怎么做
这是我当前要导出到 CSV 的代码的 sn-p
def self.to_csv(mycolumns)
CSV.generate() do |csv|
csv << mycolumns
all.each do |ccts|
csv << ccts.attributes.values_at(*mycolumns)
end
end
end
所以我最初的想法是我可以进入每个 ccts 并编辑它们,但我不知道如何访问散列中的值并更改它。它仅适用于特定列。例如,如果此表用于水果,并且列名之一是 Name。如果我想将 0041 的值更改为 Apple,但仅限于 Name 列,我只是不确定如何完成此操作。
【问题讨论】:
-
我们需要更多信息,比如
values_at(*mycolumns)返回的值是什么?在调试时,它有助于编写一个不会命中数据库的小型测试脚本,而是使用一个复制数据库内容的小型内部数组。然后,您可以编写代码来遍历该数组并更改值并输出 CSV。然后,一旦你完成了这项工作,你就可以将该代码折叠到遍历数据库的代码中。
标签: ruby-on-rails ruby csv export-to-csv