2013-10-22 2 views
0

최근에 Ember.js 1.0의 카나리아 빌드로 업그레이드되었습니다. 업그레이드가 끝나면 Ember는 더 이상 유효성 검사 오류를 서버에서 구문 분석 할 수 없습니다. 다음과 같은 양식 제출 작업을 처리합니다.TypeError : jsonErrors가 객체가 아닙니다.

submit: (event, view) -> 
    @get('model').save().then ((response) => 
    @transitionToRoute('organization.timeline', @content) 
), (response) => 
    @set "errors", response.responseText 

카나리아 빌드로 업데이트하기 전에 예상대로 작동했습니다. 검증이 실패했을 경우 지금, 나는이 오류가 :

TypeError: jsonErrors is not an object 

을 나는에 코드를 줄일 경우에도 있도록이, save를 호출하는 동안 발생합니다

submit: (event, view) -> 
    @get('model').save() 

내가 여전히 오류가 발생합니다.

Ember가 유효성 검사 오류를 처리하기위한 새로운 시스템을 출시하고 있다는 것을 Tom Dale의 이야기에서 들었습니다. 그게 충돌의 원인이라고 생각합니다. 나는이 새로운 접근법에 대한 문서 (풀 요청)를 찾을 수 없다. 누구든지 올바른 방향으로 나를 가리킬 수 있다면, 크게 감사하겠습니다.

답변

0

내가 오류를 보내는 방식을 변경해야하는 것처럼 보입니다. 레일 백엔드를 사용하고 있습니다. 응답 코드는 다음과 같이 보았다 :

def create 
    organization = Organization::Master.find(params[:id]) 
    if organization.update_attributes(organization_params) 
    render json: organization, status: 201 
    else 
    render json: organization.errors, status: 422 
    end 
end 

엠버는 이제 단순한 접근 방식 지원 : 그와

def create 
    organization = Organization::Master.find(params[:id]) 
    organization.update_attributes(organization_params) 
    respond_with organization 
end 

을, 엠버가 오류를 분석 할 수 있습니다.

관련 문제