2010-12-02 7 views
5

APIからレールアプリケーションリソースにアクセスしようとしています(アプリケーション/ XML GETリクエストを送信します)。XMLを解析する必要はありませんファイル。予想通りxmlファイルを生成しますRuby-on-Rails:レンダリングに関するヘルプ:layout => false

def get_resource 
    @my_resource = Resources.new 
    render :xml => @my_resource 
end 

:私のリソースコントローラで

は、私は、次があります。私はそれを交換する場合:

render :layout => false 

私のAPIは、「テンプレート見つからない」エラーを報告します。私はまた、以下を試みました:

render :xml => @identity, :layout => false 

しかし、とにかくページがレンダリングされます。これについて正しいことは何でしょうか?

答えて

9

xmlをレンダリングすると、テンプレートも使用されないため、レイアウトは使用されません。 layout => falseを指定すると、存在しないテンプレートを探すようにrailsに指示します。

xmlファイルを解析したくない場合は、いくつかの選択肢があります。次のいずれかの

render :json => @my_resource 

または

render :text => "My resource name is: #{@my_resource.name}" # Whatever you want 

それはすべてあなたのAPIが受け取ることを期待するもの、あなたは結果を見てみたいかによって異なります。だからこそ参考にならない場合は、どのように応答を見せたいかの例を挙げてください。

+0

感謝を。 – David

+1

いつも 'render nothing:true'もあります –

4
def get_resource 
    @my_resource = Resources.new 
    respond_to do |wants| 
    wants.xml { render :xml => @my_resource } 
    wants.html { render :layout => false } 
    end 
end 

この記事を読む:これは私が探していたものであるhttp://tokumine.wordpress.com/2009/09/13/how-does-respond_to-work-in-the-rails-controllers/

+0

リンクありがとう! – David

+0

そのリンクは死んでいます。ここに新しいものがあります:http://tokumine.wordpress.com/2009/09/13/how-does-respond_to-work-in-the-rails-controllers/ – John

関連する問題