CSV 파일을 데이터베이스로 가져 오지만 어울리지 않는 속성 이름 때문에 장소가 변경되는 데 문제가있는 코드가 있습니다. 이 같은 CSV 파일 모양에루비 해시로 헤더 이름 변경하기
헤더 :
Date,Visitors
02/01/2014,3483
01/01/2014,13636
내 데이터베이스가 같은 필드가 있습니다하지만 그들은 처음에 대문자를 사용하지 않는 : 나는을 가져올 때
date
visitors
파일을 잘 작동하지만 파일의 값을 수동으로 편집하고 헤더를 소문자로 변경하여 가져 오기에서 일치시켜야합니다. 여기 내 모델에서 내 수입 방법 :
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
entry = find_by(date: Date.parse(row["Date"])) || new
entry.update row.to_hash
entry.save!
end
end
는 데이터베이스로 가져 와서 실패하기 전에 내 방법은 해시 헤더 이름을 변경 할 수있는 쉬운 방법이 있는지 궁금 해요, 그래서 내가 제거 할 수 있습니다 직접 파일 편집의 수동 개입.
.slice 메소드를 살펴 보았지만 특정 속성을 선택하는 것처럼 보이지만,이를 대체하는 .map을 사용하여 순수 루비를 찾았지만 레일에 더 적합한 것이 포함되어 있는지 궁금합니다. 태스크?
읽어 주셔서 감사합니다.
당신은 소문자로 헤더 필드를 변경하려면? 이게 당신의 필요입니까? –