2014-05-25 3 views
-3

.yml 파일의 데이터를 db의 테이블을 업데이트하는 메소드로 전달하는 데 문제가 있습니다..yml 파일에서 루비의 메소드로 데이터를 전달하는 데 문제가 발생했습니다.

"장애/오류 :

load_yaml() 
update(@database, $x, $y, $z) 

def load_yaml 
YAML.load_file("file.yml") 
end 

def YAML.load(io) 
    yp = parser.load(io) 
    $y = yp[0] #I get: {:emp_id=>"123"} 
    $x = yp[1].keys #I get: :emp_acct 
    $z = yp[1].values #I get: {:col=>"22222", :age=>"23"} 
end 

def modify(db, table, filter, opt) 
    db[table].where(filter).update(opt) 
end 

나는이 오류를 얻을 :

[ 
    { :emp_id: "123"}, 
    { "emp_acct": [{ :col_id: "22222", :age: "23"}]} 
] 

내 file.rb은 다음과 같습니다 수정을 (dB처럼

내 file.yml 보인다 테이블, 필터, opt) TypeError : Array를 문자열로 변환 할 수 없습니다. "

여기 무슨 일이 벌어지고 있는지 알기라도 해?

+3

이 유효한 YAML 파일 –

+0

없는 이유 유효하지 않은 유효한 JSON은 다음과 같이하기 때문에 먼저, 파일을 수정해야 ? 그것이 내가 얻고 자하는 것입니다. 내가 무엇을 바꾸어야한다고 생각하니? – user3673611

답변

1

파일이 YAML처럼 보이지 않기 때문에 이것을 JSON으로 구문 분석하려고한다고 생각합니다. 파일은 다음과 같이한다 YAML에서

[ 
    { "emp_id": "123"}, 
    { "emp_acct": [{ "col_id": "22222", "age": "23"}]} 
] 

:

--- 
    - 
    emp_id: "123" 
    - 
    emp_acct: 
     - 
     col_id: "22222" 
     age: "23" 
+0

그러면 어떻게 YAML로 보일까요? 죄송합니다. yaml을 처음 들었습니다. – user3673611

+0

@ user3673611 : 유효한 YAML이 어떻게 생겼는지에 대한 최신 답변을 확인하십시오. – spickermann

+0

감사합니다. @spickermann. 나는 그것을 시도 할 것이다. – user3673611

관련 문제