2011-03-04 5 views
1

은 내가레일즈 3 웹 사이트에 json 요청을하려면 어떻게해야합니까?

mysite/posts/1 

같은 URL이있는 경우 나에게 반환되는 기본 유형은 HTML 것을 알고있다. 그냥 수행하여 리소스의 XML 버전을 얻을 수 있습니다

mysite/posts/1.xml 

하지만 json 버전을 얻으려면 어떻게해야합니까? 다음은 작동해야합니까?

mysite/posts/1.json 

이유는 작동하지 않는 것 같습니다. 그래서 나는 더 조사하기 전에 이런 식으로 일하기로되어 있다면 알아야한다고 생각했습니다.

답변

4

당신이 제대로하고 있지만 컨트롤러가 json 요청에 응답하도록 설정되어 있지 않으면 아무 것도 얻을 수 없습니다. 전달 된 객체가 문자열이 아닌 경우 자동으로이 메소드를 호출

respond_to do |format| 
    format.html 
    format.xml { render :xml => @model_var.to_xml } 
    format.json { render :json => @model_var.to_json } #without this line, .json requests will go unanswered by the web server. 
end 
+1

심지어'레일 때문에 (레일의 마지막 새 릴리스에서) to_json'와'to_xml'가 필요하지 않습니다이 같은 respond_to 블록을해야합니다 . – MBO

+0

그래서 Rails 3에서는 모델 변수에 대한 메소드 호출을 제외하고는 똑같은 모양으로 보입니까? –

+0

맞습니다. 당신은 모델을 전달할 필요가 있습니다 (또는 정확하게 기억한다면 컬렉션) – MBO

관련 문제