2013-06-13 6 views
0

I가 다음과 같은 협회 :중첩 된 속성 3

캠페인 has_many 여행
여행 캠페인
여행 belongs_to has_many
이벤트
이벤트 belongs_to 여행

내 API에서 보이는 URL에 대한 POST 요청을 수락합니다. ike this :

/campaigns/1/trips 

JSON이 전달됩니다. json으로는 다음과 같습니다

{"trip":{"red":3, "blue":400, "events_attributes":[{"distance":300}, {"distance":400}]}} 

이벤트 컨트롤러에 대한 나의 # 만들기 작업은 다음과 같습니다

accepts_nested_attributes_for :events 

: 내 여행 모델에서, 나는이 줄을 추가 한

def create 
    begin 
     @campaign = @user.campaigns.find(params[:campaign_id]) 
     @trip = @campaign.trips.create(params[:trip]) 
     render json: @trip, :status => :ok 
    rescue 
     render json: '', :status => :not_found 
    end 
end 

그래서, 여행은 기자 이벤트와 함께 만들어지기를 기대했지만 그 대신 나는 401을 찾지 못했습니다. events_attributes를 전달하지 않으면 여행이 올바르게 생성됩니다. 내가 잘못 뭐하는 거지에 Nested object creation with JSON in Rails

어떤 생각 :

나는이 질문에 다음이 솔루션을 일한?

+0

, 당신은 * 오류를 구하고 401을 리턴한다. 이것은 당신이 아마도 코드가 생성하고있는 실제 예외를 보지 못했을 것임을 의미한다. 'begin/rescue/end'를 제거한 다음 질문에 예외를 포함 해보십시오 (실제 오류가 나타나면 해결 방법이 명확 해지지 않는 한). – MrTheWalrus

+0

MrTheWalrus, 정확히 무슨 일이 일어나고 있었는지. 고마워요 : P – Nobita

답변

0

잘못된 예외를 잡기 때문에 혼란 스러웠습니다.

여행 모델에서 events_attributes에 액세스 할 수 없기 때문에 질량 할당 오류가 발생했지만 예외가 잘못 발견 된 것으로 나타났습니다.

나는 여행 모델이 라인 추가 :

attr_accessible :events_attributes 

을 그리고 매력 :

오처럼 일, 그리고 BTW, 나는 구조에 이것을 추가 : 음

rescue ActiveRecord::RecordNotFound