나는 이것이 CSV 파일을 구문 분석 할 수 있습니다CSV 가져 오기 문제
csv_file = CSV.parse(
file.read(),
headers: true,
header_converters: :symbol
)
의미가 있습니다,하지만 난 추가 그래서 인코딩 유형을 지정하려면 : {encoding: 'UTF-8'}
를 다음과 같이 읽기 방법에 :
csv_file = CSV.parse(
file.read({encoding: 'UTF-8'}),
headers: true,
header_converters: :symbol
)
하지만이 오류가 발생합니다. 해시를 정수로 변환 할 수 없습니다.
무엇이 잘못되었는지 만 알 수 있습니다. 나는 문서를 체크했으나 그렇게 인코딩을 전달할 수 있다고하지만 첫 번째 인수로 파일을 필요로하므로 거기에 실속 할 수는 있지만 확실하게 이미 읽은 파일이 무엇인지 알고 있으므로 확인해야합니다.
어떻게 해결할 수 있습니까?
업데이트 :
내가 업데이트 한 다음
def import
if params[:import_coasters]
file = params[:import_coasters][:file]
Park.import_from_csv(file)
def self.import_from_csv(file)
Park.destroy_all
및
csv_file = CSV.parse(
File.read(file, {encoding: 'UTF-8'}),
headers: true,
header_converters: :symbol
)
그러나 나는 다음과 같은 오류 얻을 :
이
이 ActionDispatch을 변환 할 수 있습니다 :: Http :: UploadedFile 문자열로
가 어떻게 파일 변수를 만드는? 테스트하기 위해 문제를 재현하는 데 문제가 있습니다. – joofsh
이 방법으로 #read를 사용할 수 있다고 말하는 문서를 가리킬 수 있습니까? –