2011-01-14 3 views
4

API를 만들려고하는데 요청 형식에 관계없이 xml을 반환해야합니다. 은 지금은 내가 rails 3은 request.format와 관계없이 xml을 렌더링합니다.

'/posts.xml가'나를 위해 작동 하지만 '/ 글'

내가 요청을 시도

index.xml.builder이

def index 
    @posts = Post.all 
    respond_to do |format| 
     format.xml 
    end 
end 

내 컨트롤러에 다음이 .format = : xml : SystemStackError (스택 레벨이 너무 깊음) :. 왜 그런 일이 일어나는가?

컨트롤러가 모든 유형의 요청에 대해 XML을 렌더링하도록하려면 어떻게해야합니까? 그래서 내가 dont 깨끗하고 깔끔하게 보이는 URL에 형식을 지정할 필요가 없습니까?

답변

2
def index 
    @posts = Post.all 
    respond_to do |format| 
    format.any do 
     render :xml => @posts.to_xml 
    end 
    end 
end 
+1

확인 ...하지만 난이 사용자 지정 XML 부분 말의 index.xml.builder을 렌더링 할 경우 어떻게? –

+0

down vote \t def index @posts = Post.all respond_to do | format | format.any do render : action => 'index.xml.builder', : layout => false 끝 끝 끝 – itschn

0

는 내가 렌더링 할 수있는 사용자 지정 XML 뷰를 가지고 있기 때문에 다음과 같이했다 :

def index 
    respond_to do |format| 
    format.any do 
     headers["Content-Type"] = "application/xml; charset=utf-8" 
     render "index.xml" 
    end 
    end 
end 
관련 문제