2012-09-23 2 views
0

나는 관계가있다 : 하나는 Post이고, 많은 것은 Pictures이다. Pictures은 AJAX를 통해 먼저 생성되었으며 ID는 하나의 게시물보기 페이지에서 숨겨진 필드에 저장됩니다. 양식을 제출 한 후 post_controller은 자체 데이터 만 저장하고 중첩 모델에서 picture_ids을 건너 뜁니다. 그것을 연결하는 방법?기존 중첩 모델에서 새로 생성 된 상위 모델로 ID를 연결하는 방법은 무엇입니까?

def create 
    p_attr = params[:post] 
    p_attr[:picture_ids] = ActiveSupport::JSON.decode(params[:post][:picture_ids]) 

    puts p_attr 
    @post = Post.new(p_attr) 

    puts @post.to_json 
    @post.save 
end 

받은 게시물 :

{"title"=>"test", "description"=>"test", "picture_ids"=>["505eec681e7bf2b8150001a5","505eea991e7bf2b8150001a1","505ee7761e7bf2b81500018d"]} 

만든 게시물 :

{"_id":"505eeed01e7bf2b8150001b1","created_at":null,"description":"test","title":"test","updated_at":null} 
+0

. 고마워요 :) –

답변

1

나는 이미 업로드 된 사진 기록을 가지고와 연결하려면 제대로 이해 해요 경우 방금 저장 한 게시물. JSON을 해독 한 후에 params[:picture_ids]을 배열이라고 가정하면이 작업을 위해 그림을 모두 업데이트 할 수 있어야합니다. 당신이 게시물을 저장 한 후이 권리를보십시오 :

당신은 행동의 3 번째 줄에 인쇄 p_attr에서 출력 ..
+0

내가 개별적으로 각 사진의 ID에 루프를하고 있어요과 당신의 솔루션이 작동 뭐죠

Picture.update_all( { :post_id => @post.id }, :conditions => { :id => params[:picture_ids] } ) 
roza

관련 문제