2012-07-04 2 views
1

그래서 내가 (간결 간체) 대략 다음과 같습니다 컨트롤러와 대부가 응용 프로그램이있어 : 내 브라우저에서 "질문/1"을 치면JSON POST 요청시 405가 표시되는 이유는 무엇입니까?

App.controllers :questions do 
    get :index, :with => :id, :provides => [:html, :json] do 
    # Stuff 
    end 

    post :index, :with => :id, :provides => [:html, :json] do 
    # Other stuff 
    end 
end 

을, 나는에 대한 HTML 페이지를 참조하십시오 주어진 질문. "questions/1.json"을 누르면 JSON 표현을 볼 수 있습니다. 정확히 내가 기대했던 것.

이제 웹 양식을 통해 "questions/1"에 POST 요청을 제출하면 작동합니다. 그러나 "questions/1.json"(JSON 형식으로 응답을 보내라는 신호를 보내라. 적어도 적어도 이 그것이이라고 생각하는 방식입니다.) 신호를 보내려고하면 405 메소드가 허용되지 않습니다.

내가 여기에 오해하고있는 기본적인 것이 있다고 생각합니다. 내가 뭘 놓치고 있니? 더 중요한 것은, 어떻게 해야합니까 내가 POST 요청을 수락하고 HTML 또는 JSON 응답을 제공하는 경로를 정의합니까?

답변

1

글쎄, 왜 이런 일이 일어 났는지 잘 모르겠다. 하지만 지금은 URL 끝에 ".json"을 붙이는 대신 "POST/ACCESS"헤더를 "application/json"으로 설정하여이 문제를 해결했습니다 (제한된 인터넷 연구를 통해 어쨌든 선호 된 접근 방식이되어야 ​​함).

관련 문제