我正在解析一个CSV文件,试图区分Model
中的列和将要添加到JSONB :data
列中的“虚拟”列。目前为止,我已经做到了以下几点:
rows = SmarterCSV.process(csv.path)
rows.each do |row|
row.select! { |x| Model.attribute_method?(x) } # this ignores non-matches
Model.create(row)
end
这将从CSV行中删除与Model
不匹配的列。相反,我想把所有这些数据添加到Model
中名为:data
的列中。我该怎么做?
编辑
在select!
之前可能像这样吗?
row[:data] = row.select { |x| !Model.attribute_method?(x) }