2011-01-14 50 views
4

我想創建一個API,我需要返回xml而不考慮請求格式。 現在我在我的控制下rails 3呈現xml不考慮request.format

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

我有一個index.xml.builder

「/posts.xml」對我的作品,但不是「/帖」

我想請求.format =:xml給了我一個SystemStackError(堆棧級別太深):。爲什麼會發生。

如何強制控制器爲所有類型的請求呈現xml?所以我不需要指定看起來乾淨整潔的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什麼? – 2011-01-14 10:47:34

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