2011-01-14 2 views
4

私はAPIを作成しようとしていますが、リクエストフォーマットに関係なくxmlを返す必要があります。私はindex.xml.builderrails 3はrequest.formatに関係なくxmlをレンダリングします

「/posts.xmlは」「/ポスト」私の作品ではなく、持っている今、私は私のコントローラで

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

を以下している

私がリクエストを試してみました.format =:私にSystemStackError(スタックレベルが深すぎる)を与えたxml:。なぜそれが起こっているのですか?

どのようにすべてのタイプの要求に対してxmlをレンダリングするようにコントローラを強制できますか?私は、きれいできれいに見えるURLの形式を指定する必要はありませんか?

答えて

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

[OK]を..しかし、私は、カスタムXML部分と言うのindex.xml.builderをレンダリングするために何をしたい場合は? –

+0

down vote \t def index @posts = Post.all respond_to do | format | format.any doレンダリング:action => 'index.xml.builder'、:layout => false end end end – 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 
関連する問題