나는 yaml 파일에 키, 값 쌍을 덤프 할 Ruby 스크립트를 작업 중입니다. 하지만 내 루프가 어떤 이유로 루프의 마지막 인스턴스 만 잡을뿐입니다. 여러 개의 키 값 쌍이 있어야합니다.Ruby 루프 질문 및 덤프 결과가 YAML 파일
코드 :
# Model for languages Table
class Language < ActiveRecord::Base
end
# Model for elements Table
class Element < ActiveRecord::Base
has_many :element_translations
end
# Model for element_translations Table
class ElementTranslation < ActiveRecord::Base
belongs_to :element
end
# Find ALL languages
lang = Language.all
# Get all elements
elements = Element.where("human_readable IS NOT NULL")
info = ''
elements.each do |el|
lang.each do |l|
et = el.element_translations.where("language_id = ?", l.id)
et.each do |tran|
info = {
el.human_readable.to_s => tran.content.to_s
}
end
File.open(l.code.to_s + ".yml", "w", :encoding => "UTF-8") do |f|
YAML.dump(info, f)
end
end
end
어떤 아이디어가?
감사합니다. 이것은 매력처럼 작동했습니다! 나는 새로운 문제가있다. 내 DB에 UTF-8 문자가 있지만 YAML 파일에 데이터를 덤프 할 때 UTF-8 문자가 ... 여기에 어떤 아이디어가 있어야할까요? – dennismonsewicz
@dennis - 아마도 별도의 질문을 물어볼 가치가 있습니다. – Skilldrick
사실 내 문제를 파악할 수있었습니다. 여기에 나의 최신 문제가 있습니다 ... 루프가 발생할 때마다 어떤 이유로 어레이가 재설정되지 않습니다. 따라서 각 YAML 파일에 덤프되는 값은 새 배열 값뿐만 아니라 이전 배열 값이기도합니다 ... – dennismonsewicz