2016-10-13 2 views
0

나는이 개 모델이있을 때처럼 record_not_found 속성레일은 레일 갱신

:name,... 
:passengers_attributes: [:id, :name, :_destroy] 

와 패스 passengers_attributes 업데이트 customer (ID = 1)

같은
{ 
    "passengers_attributes": [ 
    { 
     "name": "abc", 
     "id": 5 
    } 
    ] 
} 

승객의 경우 "abc"은 새로운 내용입니다. 기록

내가 customer.update_attributes!(customer_params)를 실행, 그것은 ActiveRecord::RecordNotFound: Couldn't find Passenger with ID=5 for Customer with ID=1

가이 오류를 아십니까 오류 인상? 도움이 필요해. 감사합니다

+0

'고객'이란 무엇입니까? 그 오류는 당신이'Customer.find (5)'를하고 그 레코드를 찾을 수 없다는 것을 의미합니다. '고객'객체를 가져 오는 방법은 기존의 레코드가 아닌 레코드를 찾으려고하는 것처럼 질문에 대한 답을 어떻게 얻을 수 있습니까? – Nobita

+0

ID 5의 승객이 발견되지 않았다는 오류가 있다고 생각합니다. (예 : customer.passengers.find (5)) RecordNotFound 오류가 발생합니다. 우리가 양식보기를 표시 할 수 있습니까? – jphager2

+0

위의 언급처럼 새 패씨 지어 레코드로 고객 정보를 변경하면 id = '5'인 승객이 없습니다. '오류가 발생했습니다.이 고객을 위해 새 승객을 만들려면 id없이 승객 매개 변수를 전달해야합니다 (예 : { "승객 _attributes": [ { "이름": "abc", } ] } 감사합니다 모두 –

답변

0

여기

{ 
    "passengers_attributes": [ 
    { 
     "name": "abc", 
     "id": 5 
    } 
    ] 
} 

당신의 오류 당신이있어 매개 변수에 ID를 보낼 수 없습니다 발견. ID는 수정할 수 없으며 수동으로 삽입 할 수 있습니다.

여기에 고객은 "5"라는 승객이 없습니다.이 오류가 발생하는 이유입니다.

+0

passengers_attributes는 nested_attributes이므로 업데이트하려면 ID가 필요합니다. – jphager2

+0

ID가 5 인 레코드가 있습니까? – user100693