2011-08-19 6 views
0

HTTP REST를 통해 데이터를 전송하는 데 문제가 있습니다. 내가 시도하고 '간단한 REST 클라이언트'크롬 확장을 통해 json 데이터를 게시 할 때 "문서에 유효한 루트가 없습니다"라는 500 개의 내부 서버 오류가 발생합니다. 내가 말릴 때 406 오류가납니다. 그러나 클라이언트와 컬링 모두에 데이터가 비어있는 채로두면 빈 문서가 생성됩니다! json 텍스트를 가능한 모든 유효한 조합으로 변경하고 GET이 생성되지만 운이 없다는 점에서 데이터를 다시 넣습니다!HTTP POST 레일 3 - json - 406 & 500 오류

내 컨트롤러 코드는 다음과 같습니다

def create 
@verify = Verify.new(params[:verify]) 

respond_to do |format| 
    if @verify.save 
    format.html { redirect_to(:back, :notice => 'Verified') } 
    format.json { render :json => @verify, :status => :created, :location => @verify } 
    else 
    format.html { render :action => "new" } 
    format.xml { render :xml => @verify.errors, :status => :unprocessable_entity } 
    format.json { render :json => @verify.errors, :status => :unprocessable_entity } 
    end 
end 

내가 Mongoid를 사용하여 고안 보석을 (시도 컨트롤러에서 before_filter를 제거하지만 그 차이를하지)하고있어

{"www" : "wwww"} 

샘플 JSON .

답변

0

레일 (3), 액티브 기본적으로 JSON은 mongoid을 사용하고 있기 때문에,`mongoid.yml`에 mongoid.yml

include_root_in_json: true 
+0

추가로 코드를이 추가 여전히를 받고 시도하는 루트 요소를 추가 같은 오류. 또한 모델에'self.include_root_in_json = true'를 추가하고 컨트롤러에 '@verify.include_root_in_json = true'를 추가했지만 변경 사항도 없습니다. – Daniel

+0

젠장,'render : json => @ verify'이 무엇을 반환하는지 정확히 확인 했습니까? Chrome 확장 프로그램에서이 '문서에 유효한 루트가 없음'오류가 무엇인지 확인 했습니까? 그 중에서 나는 그것이 무엇 일 수 있는지 전혀 모른다. – Draiken