Хорошо, я задал ваш вопрос Джеймсу (автору FasterCSV), и вот его ответ:
Если у вас есть массив хэшей, скажите
[{a: 1, b: 2, x: 0}, {a: 2, b: 3}]
А вам нужны только клавиши: a и: b, вы можете делать следующее:
>> CSV.generate(headers: [:a, :b]) do |csv|
| [{a: 1, b: 2, x: 0}, {a: 3, b: 10}].each do |row|
| csv << row
| end
| end
=> "1,2\n3,10\n"
Надеюсь, это поможет.