Я пытаюсь создать файл локали Rails из CSV.Файл создан и CSV правильно проанализирован, но файл не заполнен.У меня нет ошибок, поэтому я не знаю, что не так ...
Это мой код:
# frozen_string_literal: true
class FillLanguages
require 'csv'
def self.get
result = []
file = File.new('config/locales/languages.yml', 'w')
CSV.foreach('lib/csv/BCP-47_french.csv', headers: false, col_sep: ';') do |row|
result.push(row[0])
hash = {}
key = row[0]
hash[key] = row[1]
file.puts(hash.to_yaml)
end
result
end
end
Rails.logger.debug(hash)
возвращает
{"af-ZA"=>"Africain (Afrique du Sud)"}
{"ar-AE"=>"Arabe (U.A.E.)"}
{"ar-BH"=>"Arabe (Bahreïn)"}
{"ar-DZ"=>"Arabe (Algérie)"}
{"ar-EG"=>"Arabe (Egypte)"}
{"ar-IQ"=>"Arabe (Irak)"}
...
как и ожидалось.
Rails.logger.debug(hash.to_yaml)
возвращает
---
af-ZA: Africain (Afrique du Sud)
---
ar-AE: Arabe (U.A.E.)
---
ar-BH: Arabe (Bahreïn)
---
ar-DZ: Arabe (Algérie)
---
ar-EG: Arabe (Egypte)
---
ar-IQ: Arabe (Irak)
...
Но файл все еще пуст.
Мой CSV выглядит так:
https://i.gyazo.com/f3fa5ba8b1bfdd014018da5b46fa7ec0.png
Даже если я попытаюсь поместить строку типа «hello world» сразу после строки, в которой я создаю файл, она не будет работать ...